diff --git a/include/llvm/Support/ConstantRange.h b/include/llvm/Support/ConstantRange.h index 27585491b38..64019ca3a7b 100644 --- a/include/llvm/Support/ConstantRange.h +++ b/include/llvm/Support/ConstantRange.h @@ -58,9 +58,9 @@ public: /// assert out if the two APInt's are not the same bit width. ConstantRange(const APInt& Lower, const APInt& Upper); - /// makeICmpRegion - Return the range of values that a value must be within - /// in order for the comparison specified by the predicate against range - /// Other to be true. + /// makeICmpRegion - Produce the smallest range that contains all values that + /// might satisfy the comparison specified by Pred when compared to any value + /// contained within Other. static ConstantRange makeICmpRegion(unsigned Pred, const ConstantRange &Other); diff --git a/lib/Support/ConstantRange.cpp b/lib/Support/ConstantRange.cpp index e04272348d9..f5b408f8a55 100644 --- a/lib/Support/ConstantRange.cpp +++ b/lib/Support/ConstantRange.cpp @@ -53,7 +53,7 @@ ConstantRange ConstantRange::makeICmpRegion(unsigned Pred, switch (Pred) { default: assert(!"Invalid ICmp predicate to makeICmpRegion()"); case ICmpInst::ICMP_EQ: - return ConstantRange(CR.getLower(), CR.getUpper()); + return CR; case ICmpInst::ICMP_NE: if (CR.isSingleElement()) return ConstantRange(CR.getUpper(), CR.getLower());