aboutsummaryrefslogtreecommitdiff
path: root/llvm/unittests/IR/ConstantRangeTest.cpp
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2019-04-25 10:12:43 +0000
committerFlorian Hahn <flo@fhahn.com>2019-04-25 10:12:43 +0000
commit1038137f14ba07f3acbfdc41384d35e965e0178c (patch)
tree251fdd148a25ec0f7b56d98b1bf8361a2426f7f5 /llvm/unittests/IR/ConstantRangeTest.cpp
parent6fae38ec9100f0ad8b2c0352bae90aa64383172b (diff)
downloadllvm-1038137f14ba07f3acbfdc41384d35e965e0178c.zip
llvm-1038137f14ba07f3acbfdc41384d35e965e0178c.tar.gz
llvm-1038137f14ba07f3acbfdc41384d35e965e0178c.tar.bz2
[ConstantRange] [a, b) udiv a full range is [0, umax(b)).
Reviewers: nikic, spatel, efriedma Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D60536 llvm-svn: 359180
Diffstat (limited to 'llvm/unittests/IR/ConstantRangeTest.cpp')
-rw-r--r--llvm/unittests/IR/ConstantRangeTest.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/unittests/IR/ConstantRangeTest.cpp b/llvm/unittests/IR/ConstantRangeTest.cpp
index 692d151..b9d8fe0 100644
--- a/llvm/unittests/IR/ConstantRangeTest.cpp
+++ b/llvm/unittests/IR/ConstantRangeTest.cpp
@@ -821,6 +821,16 @@ TEST_F(ConstantRangeTest, UDiv) {
EXPECT_EQ(Some.udiv(Some), ConstantRange(APInt(16, 0), APInt(16, 0x111)));
EXPECT_EQ(Some.udiv(Wrap), ConstantRange(APInt(16, 0), APInt(16, 0xaaa)));
EXPECT_EQ(Wrap.udiv(Wrap), Full);
+
+
+ ConstantRange Zero(APInt(16, 0));
+ EXPECT_EQ(Zero.udiv(One), Zero);
+ EXPECT_EQ(Zero.udiv(Full), Zero);
+
+ EXPECT_EQ(ConstantRange(APInt(16, 0), APInt(16, 99)).udiv(Full),
+ ConstantRange(APInt(16, 0), APInt(16, 99)));
+ EXPECT_EQ(ConstantRange(APInt(16, 10), APInt(16, 99)).udiv(Full),
+ ConstantRange(APInt(16, 0), APInt(16, 99)));
}
TEST_F(ConstantRangeTest, URem) {