summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/unittests/IR/ConstantRangeTest.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/unittests/IR/ConstantRangeTest.cpp b/llvm/unittests/IR/ConstantRangeTest.cpp
index a03b7680d29..c6a0ef8f1b7 100644
--- a/llvm/unittests/IR/ConstantRangeTest.cpp
+++ b/llvm/unittests/IR/ConstantRangeTest.cpp
@@ -188,6 +188,18 @@ TEST_F(ConstantRangeTest, Trunc) {
One.getUpper().trunc(10)));
EXPECT_TRUE(TSome.isFullSet());
EXPECT_TRUE(TWrap.isFullSet());
+
+ // trunc([2, 5), 3->2) = [2, 1)
+ ConstantRange TwoFive(APInt(3, 2), APInt(3, 5));
+ EXPECT_EQ(TwoFive.truncate(2), ConstantRange(APInt(2, 2), APInt(2, 1)));
+
+ // trunc([2, 6), 3->2) = full
+ ConstantRange TwoSix(APInt(3, 2), APInt(3, 6));
+ EXPECT_TRUE(TwoSix.truncate(2).isFullSet());
+
+ // trunc([5, 7), 3->2) = [1, 3)
+ ConstantRange FiveSeven(APInt(3, 5), APInt(3, 7));
+ EXPECT_EQ(FiveSeven.truncate(2), ConstantRange(APInt(2, 1), APInt(2, 3)));
}
TEST_F(ConstantRangeTest, ZExt) {
OpenPOWER on IntegriCloud