reload bug
Jeffrey A Law
law@cygnus.com
Tue Dec 1 10:49:00 GMT 1998
In message < 199812011535.PAA09466@phal.cygnus.co.uk >you write:
> > A note, if I move your new code out one nesting level, then it appears to
> > work. ie, I put your new code before this statement:
> >
> > /* I is nonneg if this reload used a register.
> > If reload_reg_rtx[r] is 0, this is an optional reload
> > that we opted to ignore. */
> >
> > if (i >= 0 && reload_reg_rtx[r] != 0)
> > [ ... ]
> >
> > I have no clue if that's the right thing to do or not.
>
> Yes, it is the right thing to do.
>
> Basically, there are two ways we manage references to pseudos:
> If we can make a reload, even if it's optional, the reload itself
> carries the information. emit_reload_insns has to use that information to
> update its tables.
> If for some reason we can't make a reload at all, a USE or CLOBBER of the
> pseudo is created. CLOBBERs are directly evaluated by emit_reload_insns,
> while USEs are evaluated by delete_output_reload.
Ok. I'll do some further tests with it then.
Thanks!
jeff
More information about the Gcc-bugs
mailing list