builtins.c (fold_builtin_strchr): Use build_int_cst, not fold_convert.
authorNathan Sidwell <nathan@codesourcery.com>
Tue, 7 Sep 2004 10:22:44 +0000 (10:22 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 7 Sep 2004 10:22:44 +0000 (10:22 +0000)
* builtins.c (fold_builtin_strchr): Use build_int_cst, not
fold_convert.
(fold_builtin_strpbrk): Likewise.
* expr.c (array_ref_low_bound): Likewise.
* tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
* tree-sra.c (generate_element_zero): Likewise.
* tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
* tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
add_old_iv_candidates, add_iv_candidates): Likewise.
* tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.

From-SVN: r87141

gcc/ChangeLog
gcc/builtins.c
gcc/expr.c
gcc/tree-scalar-evolution.c
gcc/tree-sra.c
gcc/tree-ssa-dom.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-tailcall.c

index bc6075e9540b3a1adc8313a79a1c82c35dcb1283..b5fd1d9aa1a51a75133df8f5d78f0e1e80ef3036 100644 (file)
@@ -1,3 +1,17 @@
+2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * builtins.c (fold_builtin_strchr): Use build_int_cst, not
+       fold_convert.
+       (fold_builtin_strpbrk): Likewise.
+       * expr.c (array_ref_low_bound): Likewise.
+       * tree-scalar-evolution.c (chrec_is_positive, add_to_evolution_1,
+       interpret_rhs_modify_expr, number_of_iterations_in_loop): Likewise.
+       * tree-sra.c (generate_element_zero): Likewise.
+       * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): Likewise.
+       * tree-ssa-loop-ivopts.c (determine_biv_step, idx_find_step,
+       add_old_iv_candidates, add_iv_candidates): Likewise.
+       * tree-tailcall.c (tree_optimize_tail_calls_1): Likewise.
+
 2004-09-07  Nathan Sidwell  <nathan@codesourcery.com>
 
        * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable.
index 97800bfef02dd0e4943d100417e7855b385aa6e8..50965228f91c8e7b6e0ec34fd73b629f5ea12123 100644 (file)
@@ -7210,12 +7210,11 @@ fold_builtin_strchr (tree exp, bool actually_strrchr)
          r = actually_strrchr ? strrchr (p1, c) : strchr (p1, c);
 
          if (r == NULL)
-           return fold_convert (TREE_TYPE (s1), integer_zero_node);
+           return build_int_cst (TREE_TYPE (s1), 0);
 
          /* Return an offset into the constant string argument.  */
          return fold (build2 (PLUS_EXPR, TREE_TYPE (s1),
-                              s1, fold_convert (TREE_TYPE (s1),
-                                                ssize_int (r - p1))));
+                              s1, build_int_cst (TREE_TYPE (s1), r - p1)));
        }
 
       if (actually_strrchr)
@@ -8645,12 +8644,11 @@ simplify_builtin_strstr (tree arglist)
          const char *r = strstr (p1, p2);
 
          if (r == NULL)
-           return fold_convert (TREE_TYPE (s1), integer_zero_node);
+           return build_int_cst (TREE_TYPE (s1), 0);
 
          /* Return an offset into the constant string argument.  */
          return fold (build2 (PLUS_EXPR, TREE_TYPE (s1),
-                              s1, fold_convert (TREE_TYPE (s1),
-                                                ssize_int (r - p1))));
+                              s1, build_int_cst (TREE_TYPE (s1), r - p1)));
        }
 
       if (p2[0] == '\0')
@@ -8714,12 +8712,11 @@ simplify_builtin_strchr (tree arglist)
          r = strchr (p1, c);
 
          if (r == NULL)
-           return fold_convert (TREE_TYPE (s1), integer_zero_node);
+           return build_int_cst (TREE_TYPE (s1), 0);
 
          /* Return an offset into the constant string argument.  */
          return fold (build2 (PLUS_EXPR, TREE_TYPE (s1),
-                              s1, fold_convert (TREE_TYPE (s1),
-                                                ssize_int (r - p1))));
+                              s1, build_int_cst (TREE_TYPE (s1), r - p1)));
        }
 
       /* FIXME: Should use here strchrM optab so that ports can optimize
@@ -8771,12 +8768,11 @@ simplify_builtin_strrchr (tree arglist)
          r = strrchr (p1, c);
 
          if (r == NULL)
-           return fold_convert (TREE_TYPE (s1), integer_zero_node);
+           return build_int_cst (TREE_TYPE (s1), 0);
 
          /* Return an offset into the constant string argument.  */
          return fold (build2 (PLUS_EXPR, TREE_TYPE (s1),
-                              s1, fold_convert (TREE_TYPE (s1),
-                                                ssize_int (r - p1))));
+                              s1, build_int_cst (TREE_TYPE (s1), r - p1)));
        }
 
       if (! integer_zerop (s2))
@@ -8829,12 +8825,11 @@ simplify_builtin_strpbrk (tree arglist)
          const char *r = strpbrk (p1, p2);
 
          if (r == NULL)
-           return fold_convert (TREE_TYPE (s1), integer_zero_node);
+           return build_int_cst (TREE_TYPE (s1), 0);
 
          /* Return an offset into the constant string argument.  */
          return fold (build2 (PLUS_EXPR, TREE_TYPE (s1),
-                              s1, fold_convert (TREE_TYPE (s1),
-                                                ssize_int (r - p1))));
+                              s1, build_int_cst (TREE_TYPE (s1), r - p1)));
        }
 
       if (p2[0] == '\0')
index 4f4a9aa40020bba39b4901ff72205f42df055c4d..076b612c0b668d3c51f2613d04e55e48158e4b7d 100644 (file)
@@ -5514,7 +5514,7 @@ array_ref_low_bound (tree exp)
     return SUBSTITUTE_PLACEHOLDER_IN_EXPR (TYPE_MIN_VALUE (domain_type), exp);
 
   /* Otherwise, return a zero of the appropriate type.  */
-  return fold_convert (TREE_TYPE (TREE_OPERAND (exp, 1)), integer_zero_node);
+  return build_int_cst (TREE_TYPE (TREE_OPERAND (exp, 1)), 0);
 }
 
 /* Return a tree representing the upper bound of the array mentioned in
index 2566a238547214daf8dc7e9a9bf9b944bf2ac01d..d1f1607418335587a4a4cb9760841d2df6a56a62 100644 (file)
@@ -571,7 +571,7 @@ chrec_is_positive (tree chrec, bool *value)
 
       nb_iter = chrec_fold_minus 
        (chrec_type (nb_iter), nb_iter,
-        fold_convert (chrec_type (nb_iter), integer_one_node));
+        build_int_cst (chrec_type (nb_iter), 1));
 
 #if 0
       /* TODO -- If the test is after the exit, we may decrease the number of
@@ -579,7 +579,7 @@ chrec_is_positive (tree chrec, bool *value)
       if (after_exit)
        nb_iter = chrec_fold_minus 
                (chrec_type (nb_iter), nb_iter,
-                fold_convert (chrec_type (nb_iter), integer_one_node));
+                build_int_cst (chrec_type (nb_iter), 1));
 #endif
 
       end_value = chrec_apply (CHREC_VARIABLE (chrec), chrec, nb_iter);
@@ -704,7 +704,7 @@ add_to_evolution_1 (unsigned loop_nb,
            {
              var = loop_nb;
              left = chrec_before;
-             right = fold_convert (type, integer_zero_node);
+             right = build_int_cst (type, 0);
            }
          else
            {
@@ -1748,8 +1748,7 @@ interpret_rhs_modify_expr (struct loop *loop,
       opnd10 = TREE_OPERAND (opnd1, 0);
       chrec10 = analyze_scalar_evolution (loop, opnd10);
       chrec10 = chrec_convert (type, chrec10);
-      res = chrec_fold_minus (type, fold_convert (type, integer_zero_node), 
-                             chrec10);
+      res = chrec_fold_minus (type, build_int_cst (type, 0), chrec10);
       break;
 
     case MULT_EXPR:
@@ -2192,7 +2191,7 @@ number_of_iterations_in_loop (struct loop *loop)
 
   type = TREE_TYPE (niter_desc.niter);
   if (integer_nonzerop (niter_desc.may_be_zero))
-    res = fold_convert (type, integer_zero_node);
+    res = build_int_cst (type, 0);
   else if (integer_zerop (niter_desc.may_be_zero))
     res = niter_desc.niter;
   else
index c96ecfd7ce84ae38b9099bfdcb944a6065b5711b..3e3da790203352f9bd54945afdf6a857b0a26ecf 100644 (file)
@@ -1537,7 +1537,7 @@ generate_element_zero (struct sra_elt *elt, tree *list_p)
       tree t;
 
       if (elt->is_scalar)
-       t = fold_convert (elt->type, integer_zero_node);
+       t = build_int_cst (elt->type, 0);
       else
        /* We generated a replacement for a non-scalar?  */
        abort ();
index 697d8d4997101f25c81641588a2cc35f1c45d22f..c644e4a786db687eea2c90952fef511094320327 100644 (file)
@@ -1836,7 +1836,7 @@ simplify_rhs_and_lookup_avail_expr (struct dom_walk_data *walk_data,
              TREE_SET_CODE (TREE_OPERAND (dummy_cond, 0), LE_EXPR);
              TREE_OPERAND (TREE_OPERAND (dummy_cond, 0), 0) = op;
              TREE_OPERAND (TREE_OPERAND (dummy_cond, 0), 1)
-               = fold_convert (type, integer_zero_node);
+               = build_int_cst (type, 0);
            }
          val = simplify_cond_and_lookup_avail_expr (dummy_cond,
                                                     &bd->avail_exprs,
@@ -1847,7 +1847,7 @@ simplify_rhs_and_lookup_avail_expr (struct dom_walk_data *walk_data,
              TREE_SET_CODE (TREE_OPERAND (dummy_cond, 0), GE_EXPR);
              TREE_OPERAND (TREE_OPERAND (dummy_cond, 0), 0) = op;
              TREE_OPERAND (TREE_OPERAND (dummy_cond, 0), 1)
-               = fold_convert (type, integer_zero_node);
+               = build_int_cst (type, 0);
 
              val = simplify_cond_and_lookup_avail_expr (dummy_cond,
                                                         &bd->avail_exprs,
index 0464c73641bb4f3fd0877ce175e1719f3c2f4efc..7234660412b994ee85f21e8041967c82c4eabf3c 100644 (file)
@@ -687,7 +687,7 @@ determine_biv_step (tree phi)
     return NULL_TREE;
 
   if (!step)
-    return fold_convert (type, integer_zero_node);
+    return build_int_cst (type, 0);
 
   return step;
 }
@@ -1173,10 +1173,8 @@ idx_find_step (tree base, tree *idx, void *data)
   if (TREE_CODE (base) == ARRAY_REF)
     step = array_ref_element_size (base);
   else
-    {
-      /* The step for pointer arithmetics already is 1 byte.  */
-      step = fold_convert (type, integer_one_node);
-    }
+    /* The step for pointer arithmetics already is 1 byte.  */
+    step = build_int_cst (type, 1);
 
   if (TYPE_PRECISION (iv_type) < TYPE_PRECISION (type))
     iv_step = can_count_iv_in_wider_type (dta->ivopts_data->current_loop,
@@ -1586,7 +1584,7 @@ add_old_iv_candidates (struct ivopts_data *data, struct iv *iv)
 
   /* The same, but with initial value zero.  */
   add_candidate (data,
-                fold_convert (TREE_TYPE (iv->base), integer_zero_node),
+                build_int_cst (TREE_TYPE (iv->base), 0),
                 iv->step, true, NULL);
 
   phi = SSA_NAME_DEF_STMT (iv->ssa_name);
@@ -1628,8 +1626,7 @@ add_iv_value_candidates (struct ivopts_data *data,
   add_candidate (data, iv->base, iv->step, false, use);
 
   /* The same, but with initial value zero.  */
-  add_candidate (data,
-                fold_convert (TREE_TYPE (iv->base), integer_zero_node),
+  add_candidate (data, build_int_cst (TREE_TYPE (iv->base), 0),
                 iv->step, false, use);
 }
 
index 21582848a346a17078a9640cdaa63a38422063a4..ee2103d8372fa121157dca5993f74a10eacb6523 100644 (file)
@@ -875,8 +875,7 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
          add_referenced_tmp_var (tmp);
 
          phi = create_phi_node (tmp, first);
-         add_phi_arg (&phi, fold_convert (ret_type, integer_zero_node),
-                      first->pred);
+         add_phi_arg (&phi, build_int_cst (ret_type, 0), first->pred);
          a_acc = PHI_RESULT (phi);
        }
 
@@ -888,8 +887,7 @@ tree_optimize_tail_calls_1 (bool opt_tailcalls)
          add_referenced_tmp_var (tmp);
 
          phi = create_phi_node (tmp, first);
-         add_phi_arg (&phi, fold_convert (ret_type, integer_one_node),
-                      first->pred);
+         add_phi_arg (&phi, build_int_cst (ret_type, 1), first->pred);
          m_acc = PHI_RESULT (phi);
        }
     }