From e2cce0cf908143d436dbcc16ce5f81a49845e893 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 16 Dec 1994 06:44:16 -0500 Subject: [PATCH] (distribute_notes): When output an insn to hold a REG_DEAD note, update basic_block_head if necessary. From-SVN: r8658 --- gcc/combine.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) 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 -- 2.30.2