From: Eric Botcazou Date: Sat, 29 May 2004 23:27:30 +0000 (+0200) Subject: re PR rtl-optimization/13653 (-O2 -funroll-loop miscompiles POOMA testcase) X-Git-Tag: releases/gcc-3.3.4~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce7e83795c379eaf350ec6755f4f53a50cf111b3;p=thirdparty%2Fgcc.git re PR rtl-optimization/13653 (-O2 -funroll-loop miscompiles POOMA testcase) PR optimization/13653 * loop.c (loop_givs_rescan): When reducing a non-replaceable giv, clear the RTX_UNCHANGING_P flag. From-SVN: r82433 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aa2183f5b98e..15d13c9c7bc1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-05-29 Eric Botcazou + + PR optimization/13653 + * loop.c (loop_givs_rescan): When reducing a non-replaceable giv, + clear the RTX_UNCHANGING_P flag. + 2004-05-28 John David Anglin PR bootstrap/14671 diff --git a/gcc/loop.c b/gcc/loop.c index 5e42d6153bd7..6dee48f4f23b 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -4924,6 +4924,9 @@ loop_givs_rescan (loop, bl, reg_map) gen_move_insn (v->dest_reg, v->new_reg)); + /* We must do this now because we just emitted a new set. */ + RTX_UNCHANGING_P (v->dest_reg) = 0; + /* The original insn may have a REG_EQUAL note. This note is now incorrect and may result in invalid substitutions later. The original insn is dead, but may be part of a libcall