aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/tree-ssa.texi
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2004-09-03 20:27:01 -0700
committerDevang Patel <dpatel@gcc.gnu.org>2004-09-03 20:27:01 -0700
commit40923b202de784a0554d6a084464da3c1be4d976 (patch)
tree1634fa84e47784b37bfc8b13390fa4532f7860b8 /gcc/doc/tree-ssa.texi
parent48d0dd75204e91efaba289e40b5eee703b07ccd8 (diff)
downloadgcc-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/doc/tree-ssa.texi')
-rw-r--r--gcc/doc/tree-ssa.texi3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/doc/tree-ssa.texi b/gcc/doc/tree-ssa.texi
index e54383a..1c88e9f 100644
--- a/gcc/doc/tree-ssa.texi
+++ b/gcc/doc/tree-ssa.texi
@@ -260,6 +260,9 @@ becomes
a = T1;
@end smallexample
+Tree level if-conversion pass re-introduces @code{?:} expression, if appropriate.
+It is used to vectorize loops with conditions using vector conditional operations.
+
Note that in GIMPLE, @code{if} statements are also represented using
@code{COND_EXPR}, as described below.