This is the mail archive of the gcc@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: RFC -- update_equiv_regs and friends


On Tue, 27 Feb 2001, Jeffrey A Law wrote:

> That's all fine and good, except that it can create equivalences in
> which the alternate form relies on other pseudos which might not be
> live at the point where we want to rematerialize the original pseudo
> that did not get a hard register.

Shouldn't the equivalences be restricted to function invariant expressions?
That should rule out pseudos.

> Consider an insn like this:
>
> (set (pseudo) (mem (lo_sum (tempreg) (symbol_ref))))
>
> tempreg is likely going to die in that insn.
>
> We may attach a REG_EQUIV note to that insn indicating that
> pseudo is equivalent to (mem (lo_sum (tempreg) (symbol_ref)).

It seems that the problem may be the special handling of LO_SUM in
rtx_varies_p.  Maybe we want to change the equivalence to be
(mem (symbol_ref)) if we detect this case.

>   F. Don't consider the first argument of a LO_SUM as special in
>      rtx_varies_p.

Or maybe do that.


Bernd


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