aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2022-11-21 11:19:34 +0100
committerAldy Hernandez <aldyh@redhat.com>2023-04-26 10:28:12 +0200
commit983ad30d42c810e4de60ae5ba468334ef8aa14d2 (patch)
tree1e96e40b1d64183b80d1f3d0ade4ca96357ecc46 /gcc
parentbfd9415761dabcfa3ddef2c78c169ac82702cd00 (diff)
downloadgcc-983ad30d42c810e4de60ae5ba468334ef8aa14d2.zip
gcc-983ad30d42c810e4de60ae5ba468334ef8aa14d2.tar.gz
gcc-983ad30d42c810e4de60ae5ba468334ef8aa14d2.tar.bz2
Remove irange::may_contain_p.
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/value-range.cc8
-rw-r--r--gcc/value-range.h4
-rw-r--r--gcc/vr-values.cc3
3 files changed, 4 insertions, 11 deletions
diff --git a/gcc/value-range.cc b/gcc/value-range.cc
index 26acba7..6c61bce 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 d2a2759..929dc55 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 ea4fbd7..841bcd1 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;