diff options
author | Zdenek Dvorak <ook@ucw.cz> | 2007-08-01 11:39:31 +0000 |
---|---|---|
committer | Zdenek Dvorak <ook@ucw.cz> | 2007-08-01 11:39:31 +0000 |
commit | 58773d544a6642d5ad54cd2b6f1ef98d4085ce09 (patch) | |
tree | 589e7c2e94dc0f61c32b953370ab9b08162f79ad /gcc/tree-ssa-threadupdate.c | |
parent | f272b64b71f0a6534728f1614c72f80d893cd18f (diff) |
* 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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@127118 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-threadupdate.c')
-rw-r--r-- | gcc/tree-ssa-threadupdate.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-threadupdate.c b/gcc/tree-ssa-threadupdate.c index dfe1829a110..a626cdd7648 100644 --- a/gcc/tree-ssa-threadupdate.c +++ b/gcc/tree-ssa-threadupdate.c @@ -1076,6 +1076,9 @@ thread_through_all_blocks (bool may_peel_loop_headers) VEC_free (edge, heap, threaded_edges); threaded_edges = NULL; + if (retval) + current_loops->state |= LOOPS_NEED_FIXUP; + return retval; } |