tree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while...
authorKazu Hirata <kazu@cs.umass.edu>
Fri, 1 Oct 2004 14:51:25 +0000 (14:51 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Fri, 1 Oct 2004 14:51:25 +0000 (14:51 +0000)
* tree-cfg.c (cleanup_tree_cfg): Pull a call to
cleanup_control_flow() out of the while loop.

From-SVN: r88395

gcc/ChangeLog
gcc/tree-cfg.c

index d7d99a7887c1efe6c82ca698deaac0ce3baff06e..9b4c512add69db141b295da49dcd3859d1dfc1b0 100644 (file)
@@ -1,3 +1,8 @@
+2004-10-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (cleanup_tree_cfg): Pull a call to
+       cleanup_control_flow() out of the while loop.
+
 2004-10-01  Paolo Bonzini  <bonzini@gnu.org>
 
        * tree-vectorizer.c (vectorizable_operation): Fail unless
index 025e677c39608aeaec8606b075863fa05225b875..72f73784d6055289ad1c5c78398a9edf92aeff32 100644 (file)
@@ -717,16 +717,22 @@ cleanup_tree_cfg (void)
 
   timevar_push (TV_TREE_CLEANUP_CFG);
 
-  /* These three transformations can cascade, so we iterate on them until
+  retval = cleanup_control_flow ();
+
+  /* These two transformations can cascade, so we iterate on them until
      nothing changes.  */
   while (something_changed)
     {
-      something_changed = cleanup_control_flow ();
-      something_changed |= delete_unreachable_blocks ();
+      something_changed = delete_unreachable_blocks ();
       something_changed |= thread_jumps ();
       retval |= something_changed;
     }
 
+#ifdef ENABLE_CHECKING
+  if (retval)
+    gcc_assert (!cleanup_control_flow ());
+#endif
+
   /* Merging the blocks creates no new opportunities for the other
      optimizations, so do it here.  */
   merge_seq_blocks ();