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);