summaryrefslogtreecommitdiff
path: root/gcc/sel-sched-ir.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-10 18:07:31 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-02-10 18:07:31 +0000
commitfe34354e72b674130ffcf5a67e2d0b3b7307383e (patch)
treeca6f19ee04949a3bcd2ab0374a056dcb46fc2056 /gcc/sel-sched-ir.c
parent8b3716ff7532ddf9cb6f3ae6beac038506b70941 (diff)
parentbf62ed7307453c4f8d35c952fba2c2a5d990b1a4 (diff)
downloadgcc-fe34354e72b674130ffcf5a67e2d0b3b7307383e.tar.gz
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@207666 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sel-sched-ir.c')
-rw-r--r--gcc/sel-sched-ir.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 572f46cd0f9..868083b1a02 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;