This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: RFC -- update_equiv_regs and friends
- To: John Wehle <john at feith dot com>
- Subject: Re: RFC -- update_equiv_regs and friends
- From: Jeffrey A Law <law at redhat dot com>
- Date: Mon, 05 Mar 2001 17:32:02 -0700
- cc: rth at redhat dot com, gcc at gcc dot gnu dot org
- Reply-To: law at redhat dot com
In message <200103040511.AAA05192@jwlab.FEITH.COM>you write:
> I'm not sure I see the problem. I assume we're talking about REG_EQUIV
> which is suppose to be true throughout the function. They are created
> from the REG_EQUAL notes if rtx_varies_p is false.
Correct. But consider if the MEM is marked as unchanging and/or the address
for the MEM is a LO_SUM expression. [ Which is how loads from the DLT/GOT
are represented on the PA.
> be creating a REG_EQUIV note which mention dying registers. The
> problem is that operand 0 of a LO_SUM isn't currently checked by
> rtx_varies_p.
Right. And one of the potential solutions to this instance of the problem
is to not treat that operand of LO_SUM specially. What I've been trying
to figure out in my copious spare time is whether or not removal of the
special treatment of LO_SUM will fix all instances of this problem. I'll
be reviewing update_equiv_regs again after reading through the messages on
this thread again.
> Are you talking about REG_EQUIV notes created prior to update_equiv_regs?
Nope. Just those created by update_equiv_regs.
jeff