This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: gzip fails with current CVS version
- To: Jan Hubicka <jh at suse dot cz>, gcc-patches at gcc dot gnu dot org
- Subject: Re: gzip fails with current CVS version
- From: Jan Hubicka <jh at suse dot cz>
- Date: Wed, 18 Jul 2001 13:26:37 +0200
- Cc: Andreas Jaeger <aj at suse dot de>, Daniel Berlin <dan at cgsoftware dot com>
- References: <hod76ymtza.fsf@gee.suse.de> <20010718124006.A4161@atrey.karlin.mff.cuni.cz> <20010718124606.B4161@atrey.karlin.mff.cuni.cz> <20010718125355.C4161@atrey.karlin.mff.cuni.cz>
Hi,
This patch fixes problem in Daniel's last change to gcse. The
update_ld_motion_stores call is missing in pre_insert_copy_insn, so gcse
sometimes uses wrong value, in case load is killed by the subsequenct store.
As problem breaks the sparc bootstrap, I am going to install it as obvious
if bootstrapping/regtesting of i586 passses.
Wed Jul 18 13:24:08 CEST 2001 Jan Hubicka <jh@suse.cz>
* gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
Index: gcse.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/gcse.c,v
retrieving revision 1.137
diff -c -3 -p -r1.137 gcse.c
*** gcse.c 2001/07/16 20:02:08 1.137
--- gcse.c 2001/07/18 11:23:34
*************** pre_insert_copy_insn (expr, insn)
*** 4852,4857 ****
--- 4852,4858 ----
"PRE: bb %d, insn %d, copy expression %d in insn %d to reg %d\n",
BLOCK_NUM (insn), INSN_UID (new_insn), indx,
INSN_UID (insn), regno);
+ update_ld_motion_stores (expr);
}
/* Copy available expressions that reach the redundant expression