[PATCH] D68215: [ConstantRange] replacing addWithNoSignedWrap with addWithNoWrap - NFC
ChenZheng via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 30 06:25:37 PDT 2019
shchenz updated this revision to Diff 222408.
shchenz added a comment.
comment delete by mistake
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68215/new/
https://reviews.llvm.org/D68215
Files:
llvm/include/llvm/IR/ConstantRange.h
llvm/lib/IR/ConstantRange.cpp
llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
llvm/unittests/IR/ConstantRangeTest.cpp
Index: llvm/unittests/IR/ConstantRangeTest.cpp
===================================================================
--- llvm/unittests/IR/ConstantRangeTest.cpp
+++ llvm/unittests/IR/ConstantRangeTest.cpp
@@ -643,32 +643,6 @@
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;
Index: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
===================================================================
--- llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+++ llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
@@ -1834,8 +1834,8 @@
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);
};
Index: llvm/lib/IR/ConstantRange.cpp
===================================================================
--- llvm/lib/IR/ConstantRange.cpp
+++ llvm/lib/IR/ConstantRange.cpp
@@ -866,16 +866,6 @@
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())
Index: llvm/include/llvm/IR/ConstantRange.h
===================================================================
--- llvm/include/llvm/IR/ConstantRange.h
+++ llvm/include/llvm/IR/ConstantRange.h
@@ -338,10 +338,6 @@
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;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D68215.222408.patch
Type: text/x-patch
Size: 4383 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190930/d79acb0f/attachment-0001.bin>
More information about the llvm-commits
mailing list