From e6726b1f48c83bffa51c002e3eb6edb0fcfba4da Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 8 Jun 1993 14:57:08 -0700 Subject: [PATCH] (move_movables): Delete REG_EQUAL notes that describe a non loop invariant value. From-SVN: r4653 --- gcc/loop.c | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; -- 2.30.2