Commit 4244a86e by Eric Botcazou Committed by Eric Botcazou

tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges if there is…

tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges if there is a call statement to pure or const...

	* tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
	if there is a call statement to pure or const function in the block.

From-SVN: r165730
parent 825cb171
2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
* tree-optimize.c (execute_fixup_cfg): Purge dead abnormal call edges
if there is a call statement to pure or const function in the block.
2010-10-20 Paul Koning <pkoning@equallogic.com> 2010-10-20 Paul Koning <pkoning@equallogic.com>
Fix several build errors for pdp11 target. Fix several build errors for pdp11 target.
...@@ -271,13 +271,16 @@ execute_fixup_cfg (void) ...@@ -271,13 +271,16 @@ execute_fixup_cfg (void)
int flags = gimple_call_flags (stmt); int flags = gimple_call_flags (stmt);
if (flags & (ECF_CONST | ECF_PURE | ECF_LOOPING_CONST_OR_PURE)) if (flags & (ECF_CONST | ECF_PURE | ECF_LOOPING_CONST_OR_PURE))
{ {
if (gimple_purge_dead_abnormal_call_edges (bb))
todo |= TODO_cleanup_cfg;
if (gimple_in_ssa_p (cfun)) if (gimple_in_ssa_p (cfun))
{ {
todo |= TODO_update_ssa | TODO_cleanup_cfg; todo |= TODO_update_ssa | TODO_cleanup_cfg;
update_stmt (stmt); update_stmt (stmt);
} }
} }
if (flags & ECF_NORETURN if (flags & ECF_NORETURN
&& fixup_noreturn_call (stmt)) && fixup_noreturn_call (stmt))
todo |= TODO_cleanup_cfg; todo |= TODO_cleanup_cfg;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment