aboutsummaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@superh.com>2002-07-30 17:37:58 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2002-07-30 18:37:58 +0100
commit0a7564014ae889d9eea364e919d7b0367ecf8816 (patch)
treec892a9f2d4f2ace90160912d9862852da9b8fb9a /gcc/unroll.c
parent68e82b83349899173cd32116c387c7b56c917341 (diff)
downloadgcc-0a7564014ae889d9eea364e919d7b0367ecf8816.zip
gcc-0a7564014ae889d9eea364e919d7b0367ecf8816.tar.gz
gcc-0a7564014ae889d9eea364e919d7b0367ecf8816.tar.bz2
* unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
From-SVN: r55877
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 85fd5d2..85dff19 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -2258,15 +2258,15 @@ copy_loop_body (loop, copy_start, copy_end, map, exit_label, last_iteration,
{
/* VTOP notes are valid only before the loop exit test.
If placed anywhere else, loop may generate bad code.
- There is no need to test for NOTE_INSN_LOOP_CONT notes
- here, since COPY_NOTES_FROM will be at most one or two (for cc0)
- instructions before the last insn in the loop, and if the
- end test is that short, there will be a VTOP note between
- the CONT note and the test. */
+ Although COPY_NOTES_FROM will be at most one or two (for cc0)
+ instructions before the last insn in the loop, COPY_NOTES_FROM
+ can be a NOTE_INSN_LOOP_CONT note if there is no VTOP note,
+ as in a do .. while loop. */
if (GET_CODE (insn) == NOTE
&& 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)
emit_note (NOTE_SOURCE_FILE (insn), NOTE_LINE_NUMBER (insn));
}
}