summaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-30 17:37:58 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2002-07-30 17:37:58 +0000
commit349e0af13f559a885dd152d3a08d9e9bfa3881bd (patch)
treec892a9f2d4f2ace90160912d9862852da9b8fb9a /gcc/unroll.c
parent95cc2547f1b61cb02031bccd262b10419a4e5dbf (diff)
downloadgcc-349e0af13f559a885dd152d3a08d9e9bfa3881bd.tar.gz
* unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@55877 138bc75d-0d04-0410-961f-82ee72b054a4
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 85fd5d23e30..85dff19284f 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));
}
}