diff options
author | Zdenek Dvorak <dvorakz@suse.cz> | 2005-03-10 09:55:57 +0100 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2005-03-10 08:55:57 +0000 |
commit | 2b271002241ca01925b19d586ff2f30ce797d380 (patch) | |
tree | f2b46ed67074fdbfd5baaae62b80c6995933ebe7 /gcc/tree-optimize.c | |
parent | 17049f0bbb41269470981caefa6d05fd3c26b47b (diff) | |
download | gcc-2b271002241ca01925b19d586ff2f30ce797d380.tar.gz |
Makefile.in (tree-optimize.o): Add CFGLOOP_H dependence.
* Makefile.in (tree-optimize.o): Add CFGLOOP_H dependence.
* cfgloop.c (flow_loop_nodes_find): Export.
* cfgloop.h (flow_loop_nodes_find, fix_loop_structure):
Declare.
* cfgloopmanip.c (fix_loop_structure): New function.
* predict.c (predict_loops): Clean up the loops information.
* tree-cfg.c (cleanup_tree_cfg_loop): New function.
(tree_can_merge_blocks_p, remove_bb, tree_forwarder_block_p): Respect
loop structure.
* tree-flow.h (cleanup_tree_cfg_loop): Declare.
(rewrite_into_loop_closed_ssa): Declaration changed.
* tree-loop-linear.c (linear_transform_loops): Add argument to
rewrite_into_loop_closed_ssa call.
* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
* tree-ssa-loop-im.c (move_computations): Ditto.
* tree-ssa-loop.c (tree_loop_optimizer_init): Ditto.
* tree-vectorizer.c (vectorize_loops): Ditto.
* tree-optimize.c: Include cfgloop.h.
(execute_todo): Choose whether to call cleanup_tree_cfg or
cleanup_tree_cfg_loop.
* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables,
(tree_unroll_loops_completely): Enable cleanup_tree_cfg_loop call.
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Enable
cleanup_tree_cfg_loop call.
* tree-ssa-loop-manip.c (find_uses_to_rename_bb): New function.
(find_uses_to_rename, rewrite_into_loop_closed_ssa): Support
work on part of cfg.
From-SVN: r96232
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r-- | gcc/tree-optimize.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index 78d4ce55934..524ce6aa435 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -47,6 +47,7 @@ Boston, MA 02111-1307, USA. */ #include "ggc.h" #include "cgraph.h" #include "graph.h" +#include "cfgloop.h" /* Global variables used to communicate with passes. */ @@ -450,7 +451,12 @@ execute_todo (int properties, unsigned int flags) } if (flags & TODO_cleanup_cfg) - cleanup_tree_cfg (); + { + if (current_loops) + cleanup_tree_cfg_loop (); + else + cleanup_tree_cfg (); + } if ((flags & TODO_dump_func) && dump_file) { |