Make the apint construction more effective.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35960 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zhou Sheng 2007-04-13 05:57:32 +00:00
parent 7fec90ebf4
commit daacf22537

View File

@ -108,7 +108,7 @@ APInt ConstantRange::getUnsignedMin() const {
/// 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 @@ APInt ConstantRange::getSignedMax() const {
/// 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::signExtend(uint32_t DstTySize) const {
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);