Commit f7a21c70 by David Edelsohn Committed by David Edelsohn

unroll.c (copy_loop_body): Remove REG_EQUAL note attached to copied instruction if...

        * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
        copied instruction if the note is not loop invariant.

From-SVN: r57834
parent 081d6fb9
2002-10-04 David Edelsohn <edelsohn@gnu.org>
* unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
copied instruction if the note is not loop invariant.
2002-10-04 Loren J. Rittle <ljrittle@acm.org> 2002-10-04 Loren J. Rittle <ljrittle@acm.org>
* gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system. * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
......
...@@ -2033,6 +2033,13 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration, ...@@ -2033,6 +2033,13 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration,
REG_NOTES (copy) = initial_reg_note_copy (REG_NOTES (insn), map); REG_NOTES (copy) = initial_reg_note_copy (REG_NOTES (insn), map);
INSN_SCOPE (copy) = INSN_SCOPE (insn); INSN_SCOPE (copy) = INSN_SCOPE (insn);
/* 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. */
if ((tem = find_reg_note (copy, REG_EQUAL, NULL_RTX))
&& !loop_invariant_p (loop, XEXP (tem, 0)))
remove_note (copy, tem);
#ifdef HAVE_cc0 #ifdef HAVE_cc0
/* If this insn is setting CC0, it may need to look at /* If this insn is setting CC0, it may need to look at
the insn that uses CC0 to see what type of insn it is. the insn that uses CC0 to see what type of insn it is.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment