aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-03 11:56:56 +0000
committerabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-03 11:56:56 +0000
commit2b7454f296fe257571d0d5d27bdd467a6e94dc83 (patch)
tree1dde8210793c202b8d2e89d1809726b30f01ca50 /gcc
parenta45ebe4fa8c721bf6f4bc1b8af45efe729b20032 (diff)
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sel-sched-ir.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9822b561260..13333db1426 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
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;