* gimple-ssa-evrp-analyze.c
authorJeff Law <law@redhat.com>
Mon, 4 Dec 2017 16:10:49 +0000 (09:10 -0700)
committerJeff Law <law@gcc.gnu.org>
Mon, 4 Dec 2017 16:10:49 +0000 (09:10 -0700)
(evrp_range_analyzer::extract_range_from_stmt):  Always use
vr_values::update_value_range so preexisting range info is
medged with new range info, even if the new range is VR_VARYING.

From-SVN: r255386

gcc/ChangeLog
gcc/gimple-ssa-evrp-analyze.c

index 4b072b4ceec1a91f30cd6afd3e8bfd053e1f6de9..e6523a3f16534f29469773730ff52ab989a48a4f 100644 (file)
@@ -1,3 +1,10 @@
+2017-12-04  Jeff Law  <law@redhat.com>
+
+       * gimple-ssa-evrp-analyze.c
+       (evrp_range_analyzer::extract_range_from_stmt):  Always use
+       vr_values::update_value_range so preexisting range info is
+       medged with new range info, even if the new range is VR_VARYING.
+
 2017-12-04  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * combine.c: Adjust comment.
index 551b1d6b5295f5d95ac7d4f0ff3bd9f234e3ef65..fb3d3297a78aab5952773fe755ad4aa721dfb89c 100644 (file)
@@ -271,8 +271,7 @@ evrp_range_analyzer::record_ranges_from_stmt (gimple *stmt)
       edge taken_edge;
       value_range vr = VR_INITIALIZER;
       vr_values->extract_range_from_stmt (stmt, &taken_edge, &output, &vr);
-      if (output
-         && (vr.type == VR_RANGE || vr.type == VR_ANTI_RANGE))
+      if (output)
        {
          vr_values->update_value_range (output, &vr);