This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: fix kennerism
- From: Geoff Keating <geoffk at geoffk dot org>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 30 Dec 2001 14:06:49 -0800
- Subject: Re: fix kennerism
- References: <20011230100902.A12891@redhat.com>
- Reply-to: Geoff Keating <geoffk at redhat dot com>
Richard Henderson <rth@redhat.com> writes:
> This change
>
> Sat Dec 29 15:48:54 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
>
> * integrate.c (copy_rtx_and_substitute, case MEM): Likewise, but use
> replace_equiv_address_nv.
>
> may have been bootstrapped on alphaev56-osf4.0c, but it sure wasn't
> regression tested. Or if "make check" was run, the results weren't
> examined. This causes 47 C regressions on alphaev56-linux, and may
> be the reason libjava won't build (I've not gotten that far yet).
>
> The issue is that if the old and new address are the same
> replace_equiv_address_nv will return the original MEM. Which
> results in shared rtx problems. The original code unconditionally
> created a new MEM, though why it used rtx_alloc and PUT_MODE, I
> have no idea.
I can confirm that this fixes the bootstrap failure, and the
powerpc-eabisim regressions, I was seeing; we're now back to the
cfgbuild.o miscomparison.
--
- Geoffrey Keating <geoffk@geoffk.org> <geoffk@redhat.com>