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.
From-SVN: r172182
+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.
+
2011-04-08 Richard Guenther <rguenther@suse.de>
PR lto/48467
gimple_set_modified (gimple s, bool modifiedp)
{
if (gimple_has_ops (s))
- {
- s->gsbase.modified = (unsigned) modifiedp;
-
- if (modifiedp
- && cfun->gimple_df
- && is_gimple_call (s)
- && gimple_call_noreturn_p (s))
- VEC_safe_push (gimple, gc, MODIFIED_NORETURN_CALLS (cfun), s);
- }
+ s->gsbase.modified = (unsigned) modifiedp;
}
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);