From: Diego Novillo Date: Fri, 19 Aug 2005 18:52:55 +0000 (+0000) Subject: tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change indicator. X-Git-Tag: misc/cutover-cvs2svn~1082 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3594cb39e95c81f8b7c53a704fc53e744b592ab;p=thirdparty%2Fgcc.git tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change indicator. * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change indicator. Return true if the flowgraph changed during cleanup. From-SVN: r103291 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f19ee5c5b6c8..8d37b8824297 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-08-19 Diego Novillo + + * tree-cfgcleanup.c (cleanup_tree_cfg): Fix flowgraph change + indicator. Return true if the flowgraph changed during + cleanup. + 2005-08-19 Diego Novillo PR 23476 diff --git a/gcc/tree-cfgcleanup.c b/gcc/tree-cfgcleanup.c index 0f8bfc5ec1b5..7e719c1dc33e 100644 --- a/gcc/tree-cfgcleanup.c +++ b/gcc/tree-cfgcleanup.c @@ -523,17 +523,24 @@ cleanup_tree_cfg_1 (void) } -/* Remove unreachable blocks and other miscellaneous clean up work. */ +/* Remove unreachable blocks and other miscellaneous clean up work. + Return true if the flowgraph was modified, false otherwise. */ bool cleanup_tree_cfg (void) { - bool retval; + bool retval, changed; timevar_push (TV_TREE_CLEANUP_CFG); + /* Iterate until there are no more cleanups left to do. If any + iteration changed the flowgraph, set CHANGED to true. */ + changed = false; do - retval = cleanup_tree_cfg_1 (); + { + retval = cleanup_tree_cfg_1 (); + changed |= retval; + } while (retval); compact_blocks (); @@ -544,7 +551,7 @@ cleanup_tree_cfg (void) timevar_pop (TV_TREE_CLEANUP_CFG); - return retval; + return changed; } /* Cleanup cfg and repair loop structures. */