diff options
author | Devang Patel <dpatel@apple.com> | 2004-09-03 20:27:01 -0700 |
---|---|---|
committer | Devang Patel <dpatel@gcc.gnu.org> | 2004-09-03 20:27:01 -0700 |
commit | 40923b202de784a0554d6a084464da3c1be4d976 (patch) | |
tree | 1634fa84e47784b37bfc8b13390fa4532f7860b8 /gcc/tree-optimize.c | |
parent | 48d0dd75204e91efaba289e40b5eee703b07ccd8 (diff) | |
download | gcc-40923b202de784a0554d6a084464da3c1be4d976.zip gcc-40923b202de784a0554d6a084464da3c1be4d976.tar.gz gcc-40923b202de784a0554d6a084464da3c1be4d976.tar.bz2 |
Tree level if-conversion for vectorizer.
* Makefile.in (OBJS-common): Add tree-if-conv.o
(tree-if-conv.o): New rule.
* cfgloop.c (flow_loop_exit_edges_find): Set EDGE_LOOP_EXIT flag.
(get_loop_body_in_bfs_order): New.
* cfgloop.h (get_loop_body_in_bfs_order): New.
* tree-flow.h (enum move_pos): Move here from ..
* tree-ssa-loop-im.c (enum move_pos): here.
(movement_possibility): Make externally visible.
* tree-optimize.c (init_tree_optimization_passes): New entry for
if conversion pass.
* tree-pass.h (pass_if_conversion): New.
* tree-ssa-operands.c (get_expr_operands): Handle COND_EXPR.
* tree-if-conv.c: New file.
* doc/passes.texi: Document tree if-conversion pass.
* doc/tree-ssa.texi: Same.
testsuite:
* gcc.dg/tree-ssa/ifc-20040816-1.c: New test.
* gcc.dg/tree-ssa/ifc-20040816-2.c: New test.
From-SVN: r87073
Diffstat (limited to 'gcc/tree-optimize.c')
-rw-r--r-- | gcc/tree-optimize.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-optimize.c b/gcc/tree-optimize.c index f14f1b0..e3dcc95 100644 --- a/gcc/tree-optimize.c +++ b/gcc/tree-optimize.c @@ -368,6 +368,7 @@ init_tree_optimization_passes (void) NEXT_PASS (pass_loop_init); NEXT_PASS (pass_lim); NEXT_PASS (pass_iv_canon); + NEXT_PASS (pass_if_conversion); NEXT_PASS (pass_vectorize); NEXT_PASS (pass_complete_unroll); NEXT_PASS (pass_loop_done); |