Fix IA-64 bootstrap failure

Jim Wilson wilson@specifixinc.com
Thu Jan 29 20:23:00 GMT 2004


On Thu, 2004-01-29 at 02:18, Jan Hubicka wrote:
> Since you went trought the fixing the issue too, can you please try to
> verify my reasioning in the mail?  I am not at all sure about it, but it
> seems to make sense to me.

I've been thinking about this a bit.

Suppose we have an address (reg 100) which holds the value (plus (fp)
(reg 200)).  Suppose also we have an address (reg 101) which holds the
value (plus (symbol_ref) (reg 201)).  We get cselib values for both
addresses.  Then registers 200 and 201 are modified, invalidating the
cselib values.  Then we try to do alias analysis.  If we have two
invalid cselib values, then we can do nothing at all.  If we have the
original rtx, then we can see that the two addresses can not alias,
because one is a stack address and one is a heap address.  It doesn't
matter that we don't have values for regs 200 and 201.  We don't need
them.  This seems to be a case where invalidating cselib values loses
out.  However, I haven't tried going through the cselib/sched/alias
logic to see if this case can actually happen.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



More information about the Gcc-patches mailing list