Tree level if-conversion for vectorizer.
authorDevang Patel <dpatel@apple.com>
Sat, 4 Sep 2004 03:27:01 +0000 (20:27 -0700)
committerDevang Patel <dpatel@gcc.gnu.org>
Sat, 4 Sep 2004 03:27:01 +0000 (20:27 -0700)
commit40923b202de784a0554d6a084464da3c1be4d976
tree1634fa84e47784b37bfc8b13390fa4532f7860b8
parent48d0dd75204e91efaba289e40b5eee703b07ccd8
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
15 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/cfgloop.c
gcc/cfgloop.h
gcc/doc/passes.texi
gcc/doc/tree-ssa.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ifc-20040816-2.c [new file with mode: 0644]
gcc/tree-flow.h
gcc/tree-if-conv.c [new file with mode: 0644]
gcc/tree-optimize.c
gcc/tree-pass.h
gcc/tree-ssa-loop-im.c
gcc/tree-ssa-operands.c