diff options
author | Florian Hahn <flo@fhahn.com> | 2019-04-25 10:12:43 +0000 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2019-04-25 10:12:43 +0000 |
commit | 1038137f14ba07f3acbfdc41384d35e965e0178c (patch) | |
tree | 251fdd148a25ec0f7b56d98b1bf8361a2426f7f5 /llvm/unittests/IR/ConstantRangeTest.cpp | |
parent | 6fae38ec9100f0ad8b2c0352bae90aa64383172b (diff) | |
download | llvm-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.cpp | 10 |
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) { |