diff options
author | Jim Wilson <wilson@cygnus.com> | 1999-07-06 18:41:18 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-07-06 18:41:18 -0600 |
commit | 22f8dffc365d32b03cbe5b14b3e71c4a3de78183 (patch) | |
tree | 9e89c35c3956088532fa545bd8fdeca3e2c5e015 | |
parent | c3fc2b5a293245ba4edd68d44ed932c8cd145a5c (diff) | |
download | gcc-22f8dffc365d32b03cbe5b14b3e71c4a3de78183.zip gcc-22f8dffc365d32b03cbe5b14b3e71c4a3de78183.tar.gz gcc-22f8dffc365d32b03cbe5b14b3e71c4a3de78183.tar.bz2 |
unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
8
* unroll.c (unroll_loop): Don't delete NOTE_INSN_DELETED_LABEL notes.
From-SVN: r27984
-rw-r--r-- | gcc/unroll.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c index 7e584c9..9ac883a 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); |