summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChen Zheng <czhengsz@cn.ibm.com>2019-10-08 03:00:31 +0000
committerChen Zheng <czhengsz@cn.ibm.com>2019-10-08 03:00:31 +0000
commit9806a1d5f90a21a16c4bfc6d4bb10e0d5b870573 (patch)
tree729bb1f5686ce6717595d95c52d0571074018956
parenta58ddba1137dc11462955a5a4aecda112923c8a8 (diff)
downloadbcm5719-llvm-9806a1d5f90a21a16c4bfc6d4bb10e0d5b870573.tar.gz
bcm5719-llvm-9806a1d5f90a21a16c4bfc6d4bb10e0d5b870573.zip
[ConstantRange] [NFC] replace addWithNoSignedWrap with addWithNoWrap.
llvm-svn: 374016
-rw-r--r--llvm/include/llvm/IR/ConstantRange.h4
-rw-r--r--llvm/lib/IR/ConstantRange.cpp10
-rw-r--r--llvm/lib/Transforms/Scalar/IndVarSimplify.cpp4
-rw-r--r--llvm/unittests/IR/ConstantRangeTest.cpp26
4 files changed, 2 insertions, 42 deletions
diff --git a/llvm/include/llvm/IR/ConstantRange.h b/llvm/include/llvm/IR/ConstantRange.h
index ce4b851cb45..964f9e8e9bc 100644
--- a/llvm/include/llvm/IR/ConstantRange.h
+++ b/llvm/include/llvm/IR/ConstantRange.h
@@ -338,10 +338,6 @@ public:
ConstantRange addWithNoWrap(const ConstantRange &Other, unsigned NoWrapKind,
PreferredRangeType RangeType = Smallest) const;
- /// Return a new range representing the possible values resulting from a
- /// known NSW addition of a value in this range and \p Other constant.
- ConstantRange addWithNoSignedWrap(const APInt &Other) const;
-
/// Return a new range representing the possible values resulting
/// from a subtraction of a value in this range and a value in \p Other.
ConstantRange sub(const ConstantRange &Other) const;
diff --git a/llvm/lib/IR/ConstantRange.cpp b/llvm/lib/IR/ConstantRange.cpp
index 8ea688ff1f0..592042bc0c7 100644
--- a/llvm/lib/IR/ConstantRange.cpp
+++ b/llvm/lib/IR/ConstantRange.cpp
@@ -866,16 +866,6 @@ ConstantRange ConstantRange::addWithNoWrap(const ConstantRange &Other,
return Result;
}
-ConstantRange ConstantRange::addWithNoSignedWrap(const APInt &Other) const {
- // Calculate the subset of this range such that "X + Other" is
- // guaranteed not to wrap (overflow) for all X in this subset.
- auto NSWRange = ConstantRange::makeExactNoWrapRegion(
- BinaryOperator::Add, Other, OverflowingBinaryOperator::NoSignedWrap);
- auto NSWConstrainedRange = intersectWith(NSWRange);
-
- return NSWConstrainedRange.add(ConstantRange(Other));
-}
-
ConstantRange
ConstantRange::sub(const ConstantRange &Other) const {
if (isEmptySet() || Other.isEmptySet())
diff --git a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
index 1aaa0265bad..c55783ac215 100644
--- a/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ b/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -1839,8 +1839,8 @@ void WidenIV::calculatePostIncRange(Instruction *NarrowDef,
auto CmpRHSRange = SE->getSignedRange(SE->getSCEV(CmpRHS));
auto CmpConstrainedLHSRange =
ConstantRange::makeAllowedICmpRegion(P, CmpRHSRange);
- auto NarrowDefRange =
- CmpConstrainedLHSRange.addWithNoSignedWrap(*NarrowDefRHS);
+ auto NarrowDefRange = CmpConstrainedLHSRange.addWithNoWrap(
+ *NarrowDefRHS, OverflowingBinaryOperator::NoSignedWrap);
updatePostIncRangeInfo(NarrowDef, NarrowUser, NarrowDefRange);
};
diff --git a/llvm/unittests/IR/ConstantRangeTest.cpp b/llvm/unittests/IR/ConstantRangeTest.cpp
index 7c43d2fb09c..58a25166d83 100644
--- a/llvm/unittests/IR/ConstantRangeTest.cpp
+++ b/llvm/unittests/IR/ConstantRangeTest.cpp
@@ -643,32 +643,6 @@ TEST_F(ConstantRangeTest, Add) {
ConstantRange(APInt(16, 0xe)));
}
-TEST_F(ConstantRangeTest, AddWithNoSignedWrap) {
- EXPECT_EQ(Empty.addWithNoSignedWrap(APInt(16, 1)), Empty);
- EXPECT_EQ(Full.addWithNoSignedWrap(APInt(16, 1)),
- ConstantRange(APInt(16, INT16_MIN+1), APInt(16, INT16_MIN)));
- EXPECT_EQ(ConstantRange(APInt(8, -50), APInt(8, 50)).addWithNoSignedWrap(APInt(8, 10)),
- ConstantRange(APInt(8, -40), APInt(8, 60)));
- EXPECT_EQ(ConstantRange(APInt(8, -50), APInt(8, 120)).addWithNoSignedWrap(APInt(8, 10)),
- ConstantRange(APInt(8, -40), APInt(8, INT8_MIN)));
- EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, -10)).addWithNoSignedWrap(APInt(8, 5)),
- ConstantRange(APInt(8, 125), APInt(8, -5)));
- EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, -120)).addWithNoSignedWrap(APInt(8, 10)),
- ConstantRange(APInt(8, INT8_MIN+10), APInt(8, -110)));
-
- EXPECT_EQ(Empty.addWithNoSignedWrap(APInt(16, -1)), Empty);
- EXPECT_EQ(Full.addWithNoSignedWrap(APInt(16, -1)),
- ConstantRange(APInt(16, INT16_MIN), APInt(16, INT16_MAX)));
- EXPECT_EQ(ConstantRange(APInt(8, -50), APInt(8, 50)).addWithNoSignedWrap(APInt(8, -10)),
- ConstantRange(APInt(8, -60), APInt(8, 40)));
- EXPECT_EQ(ConstantRange(APInt(8, -120), APInt(8, 50)).addWithNoSignedWrap(APInt(8, -10)),
- ConstantRange(APInt(8, INT8_MIN), APInt(8, 40)));
- EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, -120)).addWithNoSignedWrap(APInt(8, -5)),
- ConstantRange(APInt(8, 115), APInt(8, -125)));
- EXPECT_EQ(ConstantRange(APInt(8, 120), APInt(8, -120)).addWithNoSignedWrap(APInt(8, -10)),
- ConstantRange(APInt(8, 110), APInt(8, INT8_MIN-10)));
-}
-
template <typename Fn1, typename Fn2>
static void TestAddWithNoSignedWrapExhaustive(Fn1 RangeFn, Fn2 IntFn) {
unsigned Bits = 4;
OpenPOWER on IntegriCloud