From: Jim Wilson Date: Tue, 8 Jun 1993 21:57:08 +0000 (-0700) Subject: (move_movables): Delete REG_EQUAL notes that describe a X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6726b1f48c83bffa51c002e3eb6edb0fcfba4da;p=gcc.git (move_movables): Delete REG_EQUAL notes that describe a non loop invariant value. From-SVN: r4653 --- diff --git a/gcc/loop.c b/gcc/loop.c index 84a6fdf51cc..ad82384c148 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -1824,6 +1824,16 @@ move_movables (movables, threshold, insn_count, loop_start, end, nregs) REG_NOTES (i1) = REG_NOTES (p); + /* If there is a REG_EQUAL note present whose value is + not loop invariant, then delete it, since it may + cause problems with later optimization passes. + It is possible for cse to create such notes + like this as a result of record_jump_cond. */ + + if ((temp = find_reg_note (i1, REG_EQUAL, NULL_RTX)) + && ! invariant_p (XEXP (temp, 0))) + remove_note (i1, temp); + if (new_start == 0) new_start = i1;