tree-vect-transform.c (vect_loop_versioning): Fold the generated comparisons.
authorRichard Guenther <rguenther@suse.de>
Wed, 18 Mar 2009 15:29:28 +0000 (15:29 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 18 Mar 2009 15:29:28 +0000 (15:29 +0000)
2009-03-18  Richard Guenther  <rguenther@suse.de>

* tree-vect-transform.c (vect_loop_versioning): Fold the
generated comparisons.
* tree-vectorizer.c (set_prologue_iterations): Likewise.
(slpeel_tree_peel_loop_to_edge): Likewise.

From-SVN: r144934

gcc/ChangeLog
gcc/tree-vect-transform.c
gcc/tree-vectorizer.c

index 5e979677846365a039cedce25820dae15790fd4a..23cb6f8d3dfbde4723928e48832643a289cf60ce 100644 (file)
@@ -1,3 +1,10 @@
+2009-03-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-transform.c (vect_loop_versioning): Fold the
+       generated comparisons.
+       * tree-vectorizer.c (set_prologue_iterations): Likewise.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+
 2009-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        PR middle-end/37805
index 5f9884f00104698f32e4a9803ae1653b9cdeb253..2afd4e0339418e88e847f7b2c90da709e4ea998c 100644 (file)
@@ -8107,8 +8107,8 @@ vect_loop_versioning (loop_vec_info loop_vinfo)
                                    min_profitable_iters);
 
   cond_expr =
-    build2 (GT_EXPR, boolean_type_node, scalar_loop_iters, 
-           build_int_cst (TREE_TYPE (scalar_loop_iters), th));
+    fold_build2 (GT_EXPR, boolean_type_node, scalar_loop_iters, 
+                build_int_cst (TREE_TYPE (scalar_loop_iters), th));
 
   cond_expr = force_gimple_operand (cond_expr, &cond_expr_stmt_list,
                                    false, NULL_TREE);
index 9a3a9f3c8a796ed9df5cf1ece411a4cd49324295..2c5d9cca1362c6b6e8088b44d7900941b5106d27 100644 (file)
@@ -1066,8 +1066,8 @@ set_prologue_iterations (basic_block bb_before_first_loop,
   e_fallthru = EDGE_SUCC (then_bb, 0);
 
   cost_pre_condition =
-    build2 (LE_EXPR, boolean_type_node, scalar_loop_iters, 
-           build_int_cst (TREE_TYPE (scalar_loop_iters), th));
+    fold_build2 (LE_EXPR, boolean_type_node, scalar_loop_iters, 
+                build_int_cst (TREE_TYPE (scalar_loop_iters), th));
   cost_pre_condition =
     force_gimple_operand (cost_pre_condition, &gimplify_stmt_list,
                          true, NULL_TREE);
@@ -1319,8 +1319,8 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
            = unshare_expr (LOOP_VINFO_NITERS_UNCHANGED
                                        (loop_vec_info_for_loop (loop)));
          cost_pre_condition = 
-           build2 (LE_EXPR, boolean_type_node, scalar_loop_iters, 
-                   build_int_cst (TREE_TYPE (scalar_loop_iters), th));
+           fold_build2 (LE_EXPR, boolean_type_node, scalar_loop_iters, 
+                        build_int_cst (TREE_TYPE (scalar_loop_iters), th));
 
          pre_condition = fold_build2 (TRUTH_OR_EXPR, boolean_type_node,
                                       cost_pre_condition, pre_condition);