summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-operands.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-08 13:22:32 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-04-08 13:22:32 +0000
commite1f47fd3a5e0cc2386d383f3a99e726d60f6d893 (patch)
tree35952a70f683e580d7b134e3b637e28c5ab22fa8 /gcc/tree-ssa-operands.c
parentf463da9432ef769335e78b19bb98febddb8f68ac (diff)
downloadgcc-e1f47fd3a5e0cc2386d383f3a99e726d60f6d893.tar.gz
2011-04-08 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_set_modified): Do not queue calls to MODIFIED_NORETURN_CALLS here ... * tree-ssa-operands.c (update_stmt_operands): ... but here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172182 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r--gcc/tree-ssa-operands.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c
index 7e2600d6e6d..57f443fe2bc 100644
--- a/gcc/tree-ssa-operands.c
+++ b/gcc/tree-ssa-operands.c
@@ -1134,6 +1134,12 @@ update_stmt_operands (gimple stmt)
timevar_push (TV_TREE_OPS);
+ /* If the stmt is a noreturn call queue it to be processed by
+ split_bbs_on_noreturn_calls during cfg cleanup. */
+ if (is_gimple_call (stmt)
+ && gimple_call_noreturn_p (stmt))
+ VEC_safe_push (gimple, gc, MODIFIED_NORETURN_CALLS (cfun), stmt);
+
gcc_assert (gimple_modified_p (stmt));
build_ssa_operands (stmt);
gimple_set_modified (stmt, false);