summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/IR/ConstantRangeTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/unittests/IR/ConstantRangeTest.cpp')
-rw-r--r--llvm/unittests/IR/ConstantRangeTest.cpp33
1 files changed, 28 insertions, 5 deletions
diff --git a/llvm/unittests/IR/ConstantRangeTest.cpp b/llvm/unittests/IR/ConstantRangeTest.cpp
index 0455df5fa5e..2cde17f291c 100644
--- a/llvm/unittests/IR/ConstantRangeTest.cpp
+++ b/llvm/unittests/IR/ConstantRangeTest.cpp
@@ -35,7 +35,7 @@ TEST_F(ConstantRangeTest, Basics) {
EXPECT_TRUE(Full.isFullSet());
EXPECT_FALSE(Full.isEmptySet());
EXPECT_TRUE(Full.inverse().isEmptySet());
- EXPECT_FALSE(Full.isUpperWrapped());
+ EXPECT_FALSE(Full.isWrappedSet());
EXPECT_TRUE(Full.contains(APInt(16, 0x0)));
EXPECT_TRUE(Full.contains(APInt(16, 0x9)));
EXPECT_TRUE(Full.contains(APInt(16, 0xa)));
@@ -45,7 +45,7 @@ TEST_F(ConstantRangeTest, Basics) {
EXPECT_FALSE(Empty.isFullSet());
EXPECT_TRUE(Empty.isEmptySet());
EXPECT_TRUE(Empty.inverse().isFullSet());
- EXPECT_FALSE(Empty.isUpperWrapped());
+ EXPECT_FALSE(Empty.isWrappedSet());
EXPECT_FALSE(Empty.contains(APInt(16, 0x0)));
EXPECT_FALSE(Empty.contains(APInt(16, 0x9)));
EXPECT_FALSE(Empty.contains(APInt(16, 0xa)));
@@ -54,7 +54,7 @@ TEST_F(ConstantRangeTest, Basics) {
EXPECT_FALSE(One.isFullSet());
EXPECT_FALSE(One.isEmptySet());
- EXPECT_FALSE(One.isUpperWrapped());
+ EXPECT_FALSE(One.isWrappedSet());
EXPECT_FALSE(One.contains(APInt(16, 0x0)));
EXPECT_FALSE(One.contains(APInt(16, 0x9)));
EXPECT_TRUE(One.contains(APInt(16, 0xa)));
@@ -64,7 +64,7 @@ TEST_F(ConstantRangeTest, Basics) {
EXPECT_FALSE(Some.isFullSet());
EXPECT_FALSE(Some.isEmptySet());
- EXPECT_FALSE(Some.isUpperWrapped());
+ EXPECT_FALSE(Some.isWrappedSet());
EXPECT_FALSE(Some.contains(APInt(16, 0x0)));
EXPECT_FALSE(Some.contains(APInt(16, 0x9)));
EXPECT_TRUE(Some.contains(APInt(16, 0xa)));
@@ -73,7 +73,7 @@ TEST_F(ConstantRangeTest, Basics) {
EXPECT_FALSE(Wrap.isFullSet());
EXPECT_FALSE(Wrap.isEmptySet());
- EXPECT_TRUE(Wrap.isUpperWrapped());
+ EXPECT_TRUE(Wrap.isWrappedSet());
EXPECT_TRUE(Wrap.contains(APInt(16, 0x0)));
EXPECT_TRUE(Wrap.contains(APInt(16, 0x9)));
EXPECT_FALSE(Wrap.contains(APInt(16, 0xa)));
@@ -176,6 +176,29 @@ TEST_F(ConstantRangeTest, SignWrapped) {
EXPECT_FALSE(ConstantRange(APInt(8, 250), APInt(8, 251)).isSignWrappedSet());
}
+TEST_F(ConstantRangeTest, UpperWrapped) {
+ // The behavior here is the same as for isWrappedSet() / isSignWrappedSet().
+ EXPECT_FALSE(Full.isUpperWrapped());
+ EXPECT_FALSE(Empty.isUpperWrapped());
+ EXPECT_FALSE(One.isUpperWrapped());
+ EXPECT_FALSE(Some.isUpperWrapped());
+ EXPECT_TRUE(Wrap.isUpperWrapped());
+ EXPECT_FALSE(Full.isUpperSignWrapped());
+ EXPECT_FALSE(Empty.isUpperSignWrapped());
+ EXPECT_FALSE(One.isUpperSignWrapped());
+ EXPECT_FALSE(Some.isUpperSignWrapped());
+ EXPECT_TRUE(Wrap.isUpperSignWrapped());
+
+ // The behavior differs if Upper is the Min/SignedMin value.
+ ConstantRange CR1(APInt(8, 42), APInt::getMinValue(8));
+ EXPECT_FALSE(CR1.isWrappedSet());
+ EXPECT_TRUE(CR1.isUpperWrapped());
+
+ ConstantRange CR2(APInt(8, 42), APInt::getSignedMinValue(8));
+ EXPECT_FALSE(CR2.isSignWrappedSet());
+ EXPECT_TRUE(CR2.isUpperSignWrapped());
+}
+
TEST_F(ConstantRangeTest, Trunc) {
ConstantRange TFull = Full.truncate(10);
ConstantRange TEmpty = Empty.truncate(10);
OpenPOWER on IntegriCloud