From: abel Date: Mon, 3 Feb 2014 11:56:56 +0000 (+0000) Subject: * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b7454f296fe257571d0d5d27bdd467a6e94dc83;p=thirdparty%2Fgcc.git * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207420 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9822b561260d..13333db1426a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-02-03 Andrey Belevantsev + + * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P + on the insn being emitted. + 2014-02-03 James Greenhalgh Will Deacon diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 2ce255a5f30b..f5a4ee035430 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -1398,6 +1398,11 @@ sel_gen_insn_from_expr_after (expr_t expr, vinsn_t vinsn, int seqno, emit_expr = set_insn_init (expr, vinsn ? vinsn : EXPR_VINSN (expr), seqno); insn = EXPR_INSN_RTX (emit_expr); + + /* The insn may come from the transformation cache, which may hold already + deleted insns, so mark it as not deleted. */ + INSN_DELETED_P (insn) = 0; + add_insn_after (insn, after, BLOCK_FOR_INSN (insn)); flags = INSN_INIT_TODO_SSID;