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
This commit is contained in:
Eric Botcazou 2010-10-20 17:30:10 +00:00 committed by Eric Botcazou
parent 825cb171c0
commit 4244a86e66
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,8 @@
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>
Fix several build errors for pdp11 target.

View File

@ -271,13 +271,16 @@ execute_fixup_cfg (void)
int flags = gimple_call_flags (stmt);
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))
{
todo |= TODO_update_ssa | TODO_cleanup_cfg;
update_stmt (stmt);
}
}
if (flags & ECF_NORETURN
&& fixup_noreturn_call (stmt))
todo |= TODO_cleanup_cfg;