From 45ae827369be3d837fab8f9709bd9545fb56dde0 Mon Sep 17 00:00:00 2001 From: law Date: Wed, 7 Jul 1999 00:41:18 +0000 Subject: [PATCH] 8 * unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27984 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/unroll.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/unroll.c b/gcc/unroll.c index 7e584c961d0..9ac883a1d49 100644 --- a/gcc/unroll.c +++ b/gcc/unroll.c @@ -1262,7 +1262,13 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before, insn = NEXT_INSN (copy_start); while (insn != safety_label) { - if (insn != start_label) + /* ??? We can't delete a NOTE_INSN_DELETED_LABEL unless we fix the + DECL_RTL field of the associated LABEL_DECL to point to (one of) + the new copies of the label. Otherwise, we hit an abort in + dwarfout.c/dwarf2out.c. */ + if (insn != start_label + && ! (GET_CODE (insn) == NOTE + && NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL)) insn = delete_insn (insn); else insn = NEXT_INSN (insn); -- 2.11.4.GIT