From fe08255d5958be5f30b19d6da30571f07d05452f Mon Sep 17 00:00:00 2001 From: Andrey Belevantsev Date: Mon, 3 Feb 2014 15:56:56 +0400 Subject: sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted. * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being emitted. From-SVN: r207420 --- gcc/sel-sched-ir.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gcc/sel-sched-ir.c') diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 2ce255a5f30..f5a4ee03543 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; -- cgit v1.2.1