This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RTL sharing versus fwprop
- From: "Richard Guenther" <richard dot guenther at gmail dot com>
- To: "Jan Hubicka" <jh at suse dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Sun, 24 Jun 2007 00:35:38 +0200
- Subject: Re: RTL sharing versus fwprop
- References: <20070623222902.GA14388@kam.mff.cuni.cz>
On 6/24/07, Jan Hubicka <jh@suse.cz> wrote:
Hi,
fwprop is common source of invalid RTL sharring in between instructions as
detected by the verify_rtl_sharing which I am once again trying to get into
shape to be enabled by default.
(concerning status, ia-64 now works as only target I tested with
checking enabled and has one regression in testsuite. i686, x86-64 and
ppc fails, this patch seems to bring i686 to the bootstrapland, I am
running full testing now)
Bootstrapped/regtested i686-linux, OK?
Hm, it looks like a strange thing to copy *log as the comment above
the function says
"Try substituting NEW into LOC"
so I suppose validate_change does the propagation, so it would look
more natural to copy inside validate_change?
Maybe I'm missing something, though.
Richard.
Honza
* fwprop.c (try_fwprop_subst): Care RTL sharing when forward
propagating.
Index: fwprop.c
===================================================================
*** fwprop.c (revision 125972)
--- fwprop.c (working copy)
*************** try_fwprop_subst (struct df_ref *use, rt
*** 688,693 ****
--- 688,695 ----
if (validate_change (insn, loc, new, false))
{
+ *loc = copy_rtx (*loc);
+
num_changes++;
if (dump_file)
fprintf (dump_file, "Changed insn %d\n", INSN_UID (insn));