From: Richard Kenner Date: Fri, 16 Dec 1994 11:44:16 +0000 (-0500) Subject: (distribute_notes): When output an insn to hold a REG_DEAD note, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e2cce0cf908143d436dbcc16ce5f81a49845e893;p=gcc.git (distribute_notes): When output an insn to hold a REG_DEAD note, update basic_block_head if necessary. From-SVN: r8658 --- diff --git a/gcc/combine.c b/gcc/combine.c index f7415aea817..fb82ea81204 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -10576,9 +10576,16 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1) put the death node there. This prevents problems with call-state tracking in caller-save.c. */ if (REG_NOTE_KIND (note) == REG_DEAD && place == 0 && tem != 0) - place - = emit_insn_after (gen_rtx (USE, VOIDmode, XEXP (note, 0)), - tem); + { + place + = emit_insn_after (gen_rtx (USE, VOIDmode, XEXP (note, 0)), + 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