Make the apint construction more effective.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35960 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/ConstantRange.cpp b/lib/Support/ConstantRange.cpp
index 79a85b8..7179649 100644
--- a/lib/Support/ConstantRange.cpp
+++ b/lib/Support/ConstantRange.cpp
@@ -108,7 +108,7 @@
/// ConstantRange.
///
APInt ConstantRange::getSignedMax() const {
- APInt SignedMax = APInt::getSignedMaxValue(getBitWidth());
+ APInt SignedMax(APInt::getSignedMaxValue(getBitWidth()));
if (!isWrappedSet()) {
if (getLower().slt(getUpper() - 1))
return getUpper() - 1;
@@ -130,7 +130,7 @@
/// ConstantRange.
///
APInt ConstantRange::getSignedMin() const {
- APInt SignedMin = APInt::getSignedMinValue(getBitWidth());
+ APInt SignedMin(APInt::getSignedMinValue(getBitWidth()));
if (!isWrappedSet()) {
if (getLower().slt(getUpper() - 1))
return getLower();
@@ -370,7 +370,7 @@
ConstantRange ConstantRange::truncate(uint32_t DstTySize) const {
unsigned SrcTySize = getBitWidth();
assert(SrcTySize > DstTySize && "Not a value truncation");
- APInt Size = APInt::getMaxValue(DstTySize).zext(SrcTySize);
+ APInt Size(APInt::getLowBitsSet(SrcTySize, DstTySize));
if (isFullSet() || getSetSize().ugt(Size))
return ConstantRange(DstTySize);