From 07c03fb07980462ea57c04544fc4e575dc72deb8 Mon Sep 17 00:00:00 2001 From: dpatel Date: Sat, 4 Sep 2004 03:27:01 +0000 Subject: 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87073 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree-ssa-loop-im.c | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'gcc/tree-ssa-loop-im.c') diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index c5de645234c..6aad73150c2 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -47,16 +47,6 @@ struct depend struct depend *next; }; -/* The possibilities of statement movement. */ - -enum move_pos -{ - MOVE_IMPOSSIBLE, /* No movement -- side effect expression. */ - MOVE_PRESERVE_EXECUTION, /* Must not cause the non-executed statement - become executed -- memory accesses, ... */ - MOVE_POSSIBLE /* Unlimited movement. */ -}; - /* The auxiliary data kept for each statement. */ struct lim_aux_data @@ -170,7 +160,7 @@ for_each_index (tree *addr_p, bool (*cbck) (tree, tree *, void *), void *data) because it may trap), return MOVE_PRESERVE_EXECUTION. Otherwise return MOVE_IMPOSSIBLE. */ -static enum move_pos +enum move_pos movement_possibility (tree stmt) { tree lhs, rhs; -- cgit v1.2.1