aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2019-10-02 19:54:09 +0000
committeraldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4>2019-10-02 19:54:09 +0000
commit19ba44e43008541aa17f43d9f5970449bbd505e5 (patch)
treee1c6dac3bb7d2b0babb45ceaad711733d26eb1b6
parent6727f4137b52759e6a5eb0fc22da92399f96b200 (diff)
Inverting a range of VARYING or UNDEFINED traps.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/ranger@276486 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/range-op.cc7
-rw-r--r--gcc/tree-vrp.c6
2 files changed, 1 insertions, 12 deletions
diff --git a/gcc/range-op.cc b/gcc/range-op.cc
index 637004005e6..b538b00459a 100644
--- a/gcc/range-op.cc
+++ b/gcc/range-op.cc
@@ -3005,13 +3005,6 @@ range_tests ()
r2.invert ();
ASSERT_TRUE (r0 == r2);
- // NOT(-MIN,+MAX) is the empty set and should return false.
- r0 = value_range_base (minint, maxint);
- r0.invert ();
- ASSERT_TRUE (r0.undefined_p ());
- r1.set_undefined ();
- ASSERT_TRUE (r0 == r1);
-
// Test that booleans and their inverse work as expected.
r0 = range_zero (boolean_type_node);
ASSERT_TRUE (r0 == value_range_base (build_zero_cst (boolean_type_node),
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c
index b4e2a60829f..a2ab4a21925 100644
--- a/gcc/tree-vrp.c
+++ b/gcc/tree-vrp.c
@@ -6150,11 +6150,7 @@ value_range_base::contains_p (tree cst) const
void
value_range_base::invert ()
{
- if (undefined_p ())
- return;
- if (varying_p ())
- set_undefined ();
- else if (m_kind == VR_RANGE)
+ if (m_kind == VR_RANGE)
m_kind = VR_ANTI_RANGE;
else if (m_kind == VR_ANTI_RANGE)
m_kind = VR_RANGE;