]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Protect second call to extract_range_from_multiplicative_op_1
authorRichard Sandiford <richard.sandiford@linaro.org>
Thu, 4 Jan 2018 19:13:55 +0000 (19:13 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 4 Jan 2018 19:13:55 +0000 (19:13 +0000)
Following on from:

        * tree-vrp.c (extract_range_from_multiplicative_op_1): Assert
        for VR_RANGE only; don't allow VR_ANTI_RANGE.
        (extract_range_from_binary_expr_1): Don't call
        extract_range_from_multiplicative_op_1 if !range_int_cst_p.

there was a later call to extract_range_from_multiplicative_op_1 too,
that used a negative test for a symbolic (!is_gimple_min_invariant)
range rather than a positive test for an integer range.

2017-11-04  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
* tree-vrp.c (extract_range_from_binary_expr_1): Check
range_int_cst_p rather than !symbolic_range_p before calling
extract_range_from_multiplicative_op_1.

From-SVN: r256262

gcc/ChangeLog
gcc/tree-vrp.c

index 26d9210a1b362de48460d9d0eed59d4bfad1fade..b981ff42487e92f731c9a766d1dbd70405fd9ed0 100644 (file)
@@ -1,3 +1,9 @@
+2018-01-04  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * tree-vrp.c (extract_range_from_binary_expr_1): Check
+       range_int_cst_p rather than !symbolic_range_p before calling
+       extract_range_from_multiplicative_op_1.
+
 2017-01-04  Jeff Law  <law@redhat.com>
 
        * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Remove
index e6f04bb0bd9dec9b1ada37fcc9519b3ab44e9298..69762ab795e05d1c6ca3048978ef7192514e0055 100644 (file)
@@ -2042,7 +2042,7 @@ extract_range_from_binary_expr_1 (value_range *vr,
              return;
            }
        }
-      else if (!symbolic_range_p (&vr0) && !symbolic_range_p (&vr1))
+      else if (range_int_cst_p (&vr0) && range_int_cst_p (&vr1))
        {
          extract_range_from_multiplicative_op_1 (vr, code, &vr0, &vr1);
          return;