Commit 570621d5 by Jim Wilson Committed by Jim Wilson

Fix -g -O3 -funroll-all-loops irix6 bootstrap failure reported by Kaveh Ghazi.

	* unroll.c (unroll_loops): Don't delete named CODE_LABELs.

From-SVN: r28048
parent c3c7ea1f
Fri Jul 9 19:08:55 1999 Jim Wilson <wilson@cygnus.com>
* unroll.c (unroll_loops): Don't delete named CODE_LABELs.
Fri Jul 9 18:54:18 1999 Felix Lee <flee@cygnus.com>
* config/i960/i960.c (ret_label): Change asm label from "LR:" to
......
......@@ -1262,11 +1262,16 @@ unroll_loop (loop_end, insn_count, loop_start, end_insert_before,
insn = NEXT_INSN (copy_start);
while (insn != safety_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. */
/* ??? Don't delete named code labels. They will be deleted when the
jump that references them is deleted. Otherwise, we end up deleting
them twice, which causes them to completely disappear instead of turn
into NOTE_INSN_DELETED_LABEL notes. This in turn causes aborts in
dwarfout.c/dwarf2out.c. We could perhaps fix the dwarf*out.c files
to handle deleted labels instead. Or perhaps fix DECL_RTL of the
associated LABEL_DECL to point to one of the new label instances. */
/* ??? Likewise, we can't delete a NOTE_INSN_DELETED_LABEL note. */
if (insn != start_label
&& ! (GET_CODE (insn) == CODE_LABEL && LABEL_NAME (insn))
&& ! (GET_CODE (insn) == NOTE
&& NOTE_LINE_NUMBER (insn) == NOTE_INSN_DELETED_LABEL))
insn = delete_insn (insn);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment