From 5212068fdf32944f8a35909cd5e9eb8d420fbc76 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Tue, 7 Sep 2004 10:22:44 +0000 Subject: [PATCH] builtins.c (fold_builtin_strchr): Use build_int_cst, not fold_convert. * 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 | 14 ++++++++++++++ gcc/builtins.c | 25 ++++++++++--------------- gcc/expr.c | 2 +- gcc/tree-scalar-evolution.c | 11 +++++------ gcc/tree-sra.c | 2 +- gcc/tree-ssa-dom.c | 4 ++-- gcc/tree-ssa-loop-ivopts.c | 13 +++++-------- gcc/tree-tailcall.c | 6 ++---- 8 files changed, 40 insertions(+), 37 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bc6075e9540..b5fd1d9aa1a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2004-09-07 Nathan Sidwell + + * 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 * c-aux-info.c (gen_type): Use gcc_assert or gcc_unreachable. diff --git a/gcc/builtins.c b/gcc/builtins.c index 97800bfef02..50965228f91 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -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') diff --git a/gcc/expr.c b/gcc/expr.c index 4f4a9aa4002..076b612c0b6 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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 diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index 2566a238547..d1f16074183 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -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 diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index c96ecfd7ce8..3e3da790203 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -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 (); diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c index 697d8d49971..c644e4a786d 100644 --- a/gcc/tree-ssa-dom.c +++ b/gcc/tree-ssa-dom.c @@ -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, diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c index 0464c73641b..7234660412b 100644 --- a/gcc/tree-ssa-loop-ivopts.c +++ b/gcc/tree-ssa-loop-ivopts.c @@ -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); } diff --git a/gcc/tree-tailcall.c b/gcc/tree-tailcall.c index 21582848a34..ee2103d8372 100644 --- a/gcc/tree-tailcall.c +++ b/gcc/tree-tailcall.c @@ -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); } } -- 2.30.2