From 715e6efb423ec714465e1c187616db850d48a7d0 Mon Sep 17 00:00:00 2001 From: Jim Wilson Date: Tue, 11 Aug 1992 12:42:35 -0700 Subject: [PATCH] (copy_loop_body): Only copy VTOP note if it will end up before a loop exit test. From-SVN: r1796 --- gcc/unroll.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/unroll.c b/gcc/unroll.c index f8c2fca0647a..18ab39682040 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1807,7 +1807,12 @@ copy_loop_body (copy_start, copy_end, map, exit_label, last_iteration, break; case NOTE: - if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED) + /* VTOP notes are valid only before the loop exit test. If placed + anywhere else, loop may generate bad code. */ + + if (NOTE_LINE_NUMBER (insn) != NOTE_INSN_DELETED + && (NOTE_LINE_NUMBER (insn) != NOTE_INSN_LOOP_VTOP + || (last_iteration && unroll_type != UNROLL_COMPLETELY))) copy = emit_note (NOTE_SOURCE_FILE (insn), NOTE_LINE_NUMBER (insn)); else -- 2.43.5