aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2004-10-01 14:51:25 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2004-10-01 14:51:25 +0000
commit8f28be81e32a7117e0848bb8559e90376570e4d2 (patch)
tree8c3e80833e54b539f74e427d3ba632104604b561 /gcc
parent5f90fc47705947e0dff9bb7676787d3e9c44b016 (diff)
downloadgcc-8f28be81e32a7117e0848bb8559e90376570e4d2.zip
gcc-8f28be81e32a7117e0848bb8559e90376570e4d2.tar.gz
gcc-8f28be81e32a7117e0848bb8559e90376570e4d2.tar.bz2
tree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while loop.
* tree-cfg.c (cleanup_tree_cfg): Pull a call to cleanup_control_flow() out of the while loop. From-SVN: r88395
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-cfg.c12
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d7d99a7..9b4c512 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 025e677..72f7378 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -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 ();