Commit e2cce0cf by Richard Kenner

(distribute_notes): When output an insn to hold a REG_DEAD note,

update basic_block_head if necessary.

From-SVN: r8658
parent 6060a796
...@@ -10576,9 +10576,16 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1) ...@@ -10576,9 +10576,16 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
put the death node there. This prevents problems with put the death node there. This prevents problems with
call-state tracking in caller-save.c. */ call-state tracking in caller-save.c. */
if (REG_NOTE_KIND (note) == REG_DEAD && place == 0 && tem != 0) if (REG_NOTE_KIND (note) == REG_DEAD && place == 0 && tem != 0)
{
place place
= emit_insn_after (gen_rtx (USE, VOIDmode, XEXP (note, 0)), = emit_insn_after (gen_rtx (USE, VOIDmode, XEXP (note, 0)),
tem); tem);
/* If this insn was emitted between blocks, then update
basic_block_head of the current block to include it. */
if (basic_block_end[this_basic_block - 1] == tem)
basic_block_head[this_basic_block] = place;
}
} }
/* If the register is set or already dead at PLACE, we needn't do /* If the register is set or already dead at PLACE, we needn't do
......
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