aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <amylaar@cygnus.co.uk>1999-03-02 08:48:09 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>1999-03-02 08:48:09 +0000
commitc956720a549bf2470acd304d5496bec9b281370e (patch)
treefe5015333238425a5383eadfa30a047bec9d5eac
parent83fdb19109ecbca5a3b21cd303b42edc2c8d7bc8 (diff)
downloadgcc-c956720a549bf2470acd304d5496bec9b281370e.zip
gcc-c956720a549bf2470acd304d5496bec9b281370e.tar.gz
gcc-c956720a549bf2470acd304d5496bec9b281370e.tar.bz2
unroll.c (copy_loop_body): Don't make extra copies of NOTE_INSN_LOOP_CONT notes.
* unroll.c (copy_loop_body): Don't make extra copies of NOTE_INSN_LOOP_CONT notes. From-SVN: r25535
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/unroll.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6eb054b..8b984de 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Tue Mar 2 16:45:31 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * unroll.c (copy_loop_body): Don't make extra copies of
+ NOTE_INSN_LOOP_CONT notes.
+
Tue Mar 2 07:44:56 1999 Mark Mitchell <mark@markmitchell.com>
* tree.c (save_tree_status): Don't treat functions with no context
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 28c3e7b..841f06a 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -2127,15 +2127,16 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration,
break;
case NOTE:
- /* VTOP notes are valid only before the loop exit test. If placed
- anywhere else, loop may generate bad code. */
+ /* VTOP and CONT notes are valid only before the loop exit test.
+ If placed anywhere else, loop may generate bad code. */
/* BASIC_BLOCK notes exist to stabilize basic block structures with
the associated rtl. We do not want to share the structure in
this new block. */
if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED
&& NOTE_LINE_NUMBER (insn) != NOTE_INSN_BASIC_BLOCK
- && (NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_VTOP
+ && ((NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_VTOP
+ && NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_CONT)
|| (last_iteration && unroll_type != UNROLL_COMPLETELY)))
copy = emit_note (NOTE_SOURCE_FILE (insn),
NOTE_LINE_NUMBER (insn));