The deprecated irange::may_contain_p method differed from contains_p
in that it could handle symbolics, which no longer exist in VRP.

gcc/ChangeLog:

        * value-range.cc (irange::may_contain_p): Remove.
        * value-range.h (range_includes_zero_p):  Rewrite may_contain_p
        usage with contains_p.
        * vr-values.cc (compare_range_with_value): Same.
---
 gcc/value-range.cc | 8 --------
 gcc/value-range.h  | 4 ++--
 gcc/vr-values.cc   | 3 ++-
 3 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index 26acba7b04b..6c61bcefd6e 100644
--- a/gcc/value-range.cc
+++ b/gcc/value-range.cc
@@ -1475,14 +1475,6 @@ irange::value_inside_range (tree val) const
     return !!cmp2;
 }
 
-/* Return TRUE if it is possible that range contains VAL.  */
-
-bool
-irange::may_contain_p (tree val) const
-{
-  return value_inside_range (val) != 0;
-}
-
 /* Return TRUE if range contains INTEGER_CST.  */
 /* Return 1 if VAL is inside value range.
          0 if VAL is not inside value range.
diff --git a/gcc/value-range.h b/gcc/value-range.h
index d2a275958c8..929dc551aa2 100644
--- a/gcc/value-range.h
+++ b/gcc/value-range.h
@@ -173,7 +173,6 @@ public:
   bool constant_p () const;                    // DEPRECATED
   void normalize_symbolics ();                 // DEPRECATED
   void normalize_addresses ();                 // DEPRECATED
-  bool may_contain_p (tree) const;             // DEPRECATED
   bool legacy_verbose_union_ (const class irange *);   // DEPRECATED
   bool legacy_verbose_intersect (const irange *);      // DEPRECATED
 
@@ -828,7 +827,8 @@ range_includes_zero_p (const irange *vr)
   if (vr->varying_p ())
     return true;
 
-  return vr->may_contain_p (build_zero_cst (vr->type ()));
+  tree zero = build_zero_cst (vr->type ());
+  return vr->contains_p (zero);
 }
 
 extern void gt_ggc_mx (vrange *);
diff --git a/gcc/vr-values.cc b/gcc/vr-values.cc
index ea4fbd7af67..841bcd1acb9 100644
--- a/gcc/vr-values.cc
+++ b/gcc/vr-values.cc
@@ -375,7 +375,8 @@ compare_range_with_value (enum tree_code comp, const 
value_range *vr,
        return NULL_TREE;
 
       /* ~[VAL_1, VAL_2] OP VAL is known if VAL_1 <= VAL <= VAL_2.  */
-      if (!vr->may_contain_p (val))
+      bool contains_p = TREE_CODE (val) != INTEGER_CST || vr->contains_p (val);
+      if (!contains_p)
        return (comp == NE_EXPR) ? boolean_true_node : boolean_false_node;
 
       return NULL_TREE;
-- 
2.40.0

Reply via email to