diff options
author | Zdenek Dvorak <ook@ucw.cz> | 2007-08-01 13:39:31 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2007-08-01 11:39:31 +0000 |
commit | 592c303da820745055bf6fd1521e2b2bf1318652 (patch) | |
tree | 589e7c2e94dc0f61c32b953370ab9b08162f79ad /gcc/passes.c | |
parent | 46cb04410da4ba4fa10070a0eec7a037ff6152a7 (diff) | |
download | gcc-592c303da820745055bf6fd1521e2b2bf1318652.zip gcc-592c303da820745055bf6fd1521e2b2bf1318652.tar.gz gcc-592c303da820745055bf6fd1521e2b2bf1318652.tar.bz2 |
tree-ssa-threadupdate.c (thread_through_all_blocks): Record that the loop structures may need fixing.
* tree-ssa-threadupdate.c (thread_through_all_blocks): Record that
the loop structures may need fixing.
* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
New functions.
(cleanup_tree_cfg_loop): Removed.
(cleanup_tree_cfg): If loops need fixing, call repair_loop_structures.
* tree-predcom.c (tree_predictive_commoning): Return TODO_cleanup_cfg
instead of running cleanup_tree_cfg_loop.
* cfgloop.h (LOOPS_NEED_FIXUP): New constant.
* tree-flow.h (cleanup_tree_cfg_loop): Declaration removed.
(tree_predictive_commoning): Declaration changed.
* passes.c (execute_function_todo): Do not use cleanup_tree_cfg_loop.
From-SVN: r127118
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index 9ec254f..5151706 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -891,12 +891,7 @@ execute_function_todo (void *data) /* Always cleanup the CFG before trying to update SSA. */ if (flags & TODO_cleanup_cfg) { - bool cleanup; - - if (current_loops) - cleanup = cleanup_tree_cfg_loop (); - else - cleanup = cleanup_tree_cfg (); + bool cleanup = cleanup_tree_cfg (); if (cleanup && (cfun->curr_properties & PROP_ssa)) flags |= TODO_remove_unused_locals; |