aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-phiopt.cc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2023-01-17 19:56:36 +0100
committerAldy Hernandez <aldyh@redhat.com>2023-04-26 11:46:06 +0200
commit637037f4e637563c4f50ed04adfa2baf90671491 (patch)
tree5e86d7b77243da68fd97d2c6cbd071b77ba597af /gcc/tree-ssa-phiopt.cc
parent1a8087c7d1cb3ca1daa87a61766923bad0143700 (diff)
downloadgcc-637037f4e637563c4f50ed04adfa2baf90671491.zip
gcc-637037f4e637563c4f50ed04adfa2baf90671491.tar.gz
gcc-637037f4e637563c4f50ed04adfa2baf90671491.tar.bz2
Remove some uses of deprecated irange API.
gcc/ChangeLog: * builtins.cc (expand_builtin_strnlen): Rewrite deprecated irange API uses to new API. * gimple-predicate-analysis.cc (find_var_cmp_const): Same. * internal-fn.cc (get_min_precision): Same. * match.pd: Same. * tree-affine.cc (expr_to_aff_combination): Same. * tree-data-ref.cc (dr_step_indicator): Same. * tree-dfa.cc (get_ref_base_and_extent): Same. * tree-scalar-evolution.cc (iv_can_overflow_p): Same. * tree-ssa-phiopt.cc (two_value_replacement): Same. * tree-ssa-pre.cc (insert_into_preds_of_block): Same. * tree-ssa-reassoc.cc (optimize_range_tests_to_bit_test): Same. * tree-ssa-strlen.cc (compare_nonzero_chars): Same. * tree-switch-conversion.cc (bit_test_cluster::emit): Same. * tree-vect-patterns.cc (vect_recog_divmod_pattern): Same. * tree.cc (get_range_pos_neg): Same.
Diffstat (limited to 'gcc/tree-ssa-phiopt.cc')
-rw-r--r--gcc/tree-ssa-phiopt.cc17
1 files changed, 4 insertions, 13 deletions
diff --git a/gcc/tree-ssa-phiopt.cc b/gcc/tree-ssa-phiopt.cc
index 4a3ab8e..3b15ffc 100644
--- a/gcc/tree-ssa-phiopt.cc
+++ b/gcc/tree-ssa-phiopt.cc
@@ -687,22 +687,13 @@ two_value_replacement (basic_block cond_bb, basic_block middle_bb,
<= TYPE_PRECISION (TREE_TYPE (lhs)))))
return false;
- wide_int min, max;
value_range r;
get_range_query (cfun)->range_of_expr (r, lhs);
+ if (r.undefined_p ())
+ r.set_varying (TREE_TYPE (lhs));
+ wide_int min = r.lower_bound ();
+ wide_int max = r.upper_bound ();
- if (r.kind () == VR_RANGE)
- {
- min = r.lower_bound ();
- max = r.upper_bound ();
- }
- else
- {
- int prec = TYPE_PRECISION (TREE_TYPE (lhs));
- signop sgn = TYPE_SIGN (TREE_TYPE (lhs));
- min = wi::min_value (prec, sgn);
- max = wi::max_value (prec, sgn);
- }
if (min + 1 != max
|| (wi::to_wide (rhs) != min
&& wi::to_wide (rhs) != max))