diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2018-07-07 08:49:04 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2018-07-07 08:49:04 +0000 |
commit | 4a669ac35988fa6de5931455fb59c713563bc58b (patch) | |
tree | 9d2011edd9c0f88e911bf1ca42ef0a447245abf3 /gcc/tree-scalar-evolution.c | |
parent | 962b3564e98b2634a2d001eceb946d8f15f9bfae (diff) | |
download | gcc-4a669ac35988fa6de5931455fb59c713563bc58b.zip gcc-4a669ac35988fa6de5931455fb59c713563bc58b.tar.gz gcc-4a669ac35988fa6de5931455fb59c713563bc58b.tar.bz2 |
tree-vrp.c (vrp_int_const_binop): Change overflow type to overflow_type.
* tree-vrp.c (vrp_int_const_binop): Change overflow type to
overflow_type.
(combine_bound): Use wide-int overflow calculation instead of
rolling our own.
* calls.c (maybe_warn_alloc_args_overflow): Change overflow type to
overflow_type.
* fold-const.c (int_const_binop_2): Same.
(extract_muldiv_1): Same.
(fold_div_compare): Same.
(fold_abs_const): Same.
* match.pd: Same.
* poly-int.h (add): Same.
(sub): Same.
(neg): Same.
(mul): Same.
* predict.c (predict_iv_comparison): Same.
* profile-count.c (slow_safe_scale_64bit): Same.
* simplify-rtx.c (simplify_const_binary_operation): Same.
* tree-chrec.c (tree_fold_binomial): Same.
* tree-data-ref.c (split_constant_offset_1): Same.
* tree-if-conv.c (idx_within_array_bound): Same.
* tree-scalar-evolution.c (iv_can_overflow_p): Same.
* tree-ssa-phiopt.c (minmax_replacement): Same.
* tree-vect-loop.c (is_nonwrapping_integer_induction): Same.
* tree-vect-stmts.c (vect_truncate_gather_scatter_offset): Same.
* vr-values.c (vr_values::adjust_range_with_scev): Same.
* wide-int.cc (wi::add_large): Same.
(wi::mul_internal): Same.
(wi::sub_large): Same.
(wi::divmod_internal): Same.
* wide-int.h: Change overflow type to overflow_type for neg, add,
mul, smul, umul, div_trunc, div_floor, div_ceil, div_round,
mod_trunc, mod_ceil, mod_round, add_large, sub_large,
mul_internal, divmod_internal.
(overflow_type): New enum.
(accumulate_overflow): New.
cp/
* decl.c (build_enumerator): Change overflow type to overflow_type.
* init.c (build_new_1): Same.
From-SVN: r262494
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r-- | gcc/tree-scalar-evolution.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c index 8e29005..69122f2 100644 --- a/gcc/tree-scalar-evolution.c +++ b/gcc/tree-scalar-evolution.c @@ -3185,7 +3185,7 @@ iv_can_overflow_p (struct loop *loop, tree type, tree base, tree step) && wi::le_p (base_max, type_max, sgn)); /* Account the possible increment in the last ieration. */ - bool overflow = false; + wi::overflow_type overflow = wi::OVF_NONE; nit = wi::add (nit, 1, SIGNED, &overflow); if (overflow) return true; @@ -3202,7 +3202,7 @@ iv_can_overflow_p (struct loop *loop, tree type, tree base, tree step) the type. */ if (sgn == UNSIGNED || !wi::neg_p (step_max)) { - bool overflow = false; + wi::overflow_type overflow = wi::OVF_NONE; if (wi::gtu_p (wi::mul (step_max, nit2, UNSIGNED, &overflow), type_max - base_max) || overflow) @@ -3211,7 +3211,8 @@ iv_can_overflow_p (struct loop *loop, tree type, tree base, tree step) /* If step can be negative, check that nit*(-step) <= base_min-type_min. */ if (sgn == SIGNED && wi::neg_p (step_min)) { - bool overflow = false, overflow2 = false; + wi::overflow_type overflow, overflow2; + overflow = overflow2 = wi::OVF_NONE; if (wi::gtu_p (wi::mul (wi::neg (step_min, &overflow2), nit2, UNSIGNED, &overflow), base_min - type_min) @@ -3315,7 +3316,7 @@ simple_iv_with_niters (struct loop *wrto_loop, struct loop *use_loop, enum tree_code code; tree type, ev, base, e; wide_int extreme; - bool folded_casts, overflow; + bool folded_casts; iv->base = NULL_TREE; iv->step = NULL_TREE; @@ -3424,7 +3425,7 @@ simple_iv_with_niters (struct loop *wrto_loop, struct loop *use_loop, code = GT_EXPR; extreme = wi::max_value (type); } - overflow = false; + wi::overflow_type overflow = wi::OVF_NONE; extreme = wi::sub (extreme, wi::to_wide (iv->step), TYPE_SIGN (type), &overflow); if (overflow) |