This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 6 GCC regressions, 2 new, with your patch on 2002-07-20T23:26:42Z.
- From: Richard Henderson <rth at redhat dot com>
- To: Geoff Keating <geoffk at geoffk dot org>
- Cc: Jan Hubicka <jh at suse dot cz>, Roger Sayle <roger at eyesopen dot com>, gcc-patches at gcc dot gnu dot org, gcc-regression at gcc dot gnu dot org
- Date: Thu, 25 Jul 2002 10:11:09 -0700
- Subject: Re: 6 GCC regressions, 2 new, with your patch on 2002-07-20T23:26:42Z.
- References: <200207210301.g6L31ih19173@maat.sfbay.redhat.com> <Pine.LNX.4.33.0207202158420.21322-100000@www.eyesopen.com> <20020721193843.GD22786@atrey.karlin.mff.cuni.cz> <20020724164042.B26512@redhat.com> <jmznwgg01b.fsf@desire.geoffk.org>
On Wed, Jul 24, 2002 at 04:48:32PM -0700, Geoff Keating wrote:
> > Your reasoning is incorrect. REG_EQUIV is a _local_ equivalence,
> > free to be killed at any moment. REG_EQUAL is the global equivalence.
>
> It's the other way around.
I realized this while driving home. :-/
> Thus, it looks like the right thing for this problem is to generate a
> REG_EQUAL note instead of a REG_EQUIV.
That may be correct. If the register isn't modified, local-alloc
will promote the note to REG_EQUIV, which will cause reload to use
the mem as the spill backing store.
Of course, if spill backing store is really what we're after, we
should probably have a different sort of annotation for it.
r~