This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: conditional exec verify_live problem after scheduling


On Wed, 10 Jan 2001, Richard Earnshaw wrote:

>
> I've come across the following problem which I think is probably related
> to your recent conditional-execution scheduling changes (though it may be
> just uncovering an underlying problem from before).  The problem is in
> newlib/libm/common/s_modf.c when compiling arm-elf and -mhard-float.
[...]
> Now with the first sequence, the compiler thinks that r4 is live at the
> start of the block; with the second it doesn't.  Now I believe that in
> both cases r4 should be dead (since a DFmode set of r3 touches both r3 and
> r4 in the EQ arm, and r4 is explicitly set in the NE arm), but the
> question is why has the schedule changed the liveness detection?  Are we
> somehow not handling multi-register sets correctly?

It ought to handle them correctly.  Are the starting conditions identical
in both cases?  The bitmaps at the end of the block and at the start of
all successor blocks must be identical before and after scheduling.


Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]