]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P on the insn being...
authorAndrey Belevantsev <abel@ispras.ru>
Mon, 3 Feb 2014 11:56:56 +0000 (15:56 +0400)
committerAndrey Belevantsev <abel@gcc.gnu.org>
Mon, 3 Feb 2014 11:56:56 +0000 (15:56 +0400)
        * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
        on the insn being emitted.

From-SVN: r207420

gcc/ChangeLog
gcc/sel-sched-ir.c

index 9822b561260dc3f459c1a6fb39b3e8e87a2e38f1..13333db1426a0797051fbde217b861414e736e20 100644 (file)
@@ -1,3 +1,8 @@
+2014-02-03  Andrey Belevantsev  <abel@ispras.ru>
+
+       * sel-sched-ir.c (sel_gen_insn_from_expr_after): Reset INSN_DELETED_P
+       on the insn being emitted.
+
 2014-02-03  James Greenhalgh  <james.greenhalgh@arm.com>
            Will Deacon  <will.deacon@arm.com>
 
index 2ce255a5f30b951738e0af2e028c3099fc54e725..f5a4ee035430db4d4b553406f030d3cb890f7899 100644 (file)
@@ -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;