[3.3/mainilne] Fix kernel misscopmiilation for hammer

Jan Hubicka jh@suse.cz
Tue Feb 25 22:50:00 GMT 2003


> On Tue, Feb 25, 2003 at 11:45:32PM +0100, Jan Hubicka wrote:
> > Hmm, I guess problem is that we do not clone constant memory references.
> >     case MEM:
> >       /* A MEM is allowed to be shared if its address is constant.
> > 
> >          We used to allow sharing of MEMs which referenced
> >          virtual_stack_vars_rtx or virtual_incoming_args_rtx, but
> >          that can lose.  instantiate_virtual_regs will not unshare
> >          the MEMs, and combine may change the structure of the address
> >          because it looks safe and profitable in one context, but
> >          in some other context it creates unrecognizable RTL.  */
> >       if (CONSTANT_ADDRESS_P (XEXP (x, 0)))
> >         return x;
> 
> Ah hah.  Let's nuke this fragment, and make mems not shared always.

Still I guess it will get missed as it is shared with DECL_RTL and that
one will not get flag.  I will make patch that will add another fragment
comparing with DECL_RTL from MEM_ATTRs tomorrow.  That should work, I
guess.

Honza
> 
> 
> r~



More information about the Gcc-patches mailing list