This one's rather obvious and does not depend on any get_range_info API change.

OK for trunk?
            * gimple-ssa-evrp-analyze.c
            (evrp_range_analyzer::record_ranges_from_incoming_edge): Use
            value_range API instead of piecing together ranges.

diff --git a/gcc/gimple-ssa-evrp-analyze.c b/gcc/gimple-ssa-evrp-analyze.c
index 3e5287b1b0b..ec39895cceb 100644
--- a/gcc/gimple-ssa-evrp-analyze.c
+++ b/gcc/gimple-ssa-evrp-analyze.c
@@ -207,7 +207,8 @@ evrp_range_analyzer::record_ranges_from_incoming_edge (basic_block bb)
 	         getting first [64, +INF] and then ~[0, 0] from
 		 conditions like (s & 0x3cc0) == 0).  */
 	      value_range *old_vr = get_value_range (vrs[i].first);
-	      value_range tem (old_vr->kind (), old_vr->min (), old_vr->max ());
+	      value_range tem = *old_vr;
+	      tem.equiv_clear ();
 	      tem.intersect (vrs[i].second);
 	      if (tem.ignore_equivs_equal_p (*old_vr))
 		continue;

Reply via email to