mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 04:30:23 +00:00
Use pre-inc, pre-dec when possible.
They are generally faster (at least not slower) than post-inc, post-dec. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177608 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
7f19e5db5f
commit
2adf8ccbf0
@ -161,11 +161,11 @@ public:
|
||||
}
|
||||
|
||||
APSInt& operator++() {
|
||||
static_cast<APInt&>(*this)++;
|
||||
++(static_cast<APInt&>(*this));
|
||||
return *this;
|
||||
}
|
||||
APSInt& operator--() {
|
||||
static_cast<APInt&>(*this)--;
|
||||
--(static_cast<APInt&>(*this));
|
||||
return *this;
|
||||
}
|
||||
APSInt operator++(int) {
|
||||
|
@ -3000,8 +3000,8 @@ ICmpInst::makeConstantRange(Predicate pred, const APInt &C) {
|
||||
uint32_t BitWidth = C.getBitWidth();
|
||||
switch (pred) {
|
||||
default: llvm_unreachable("Invalid ICmp opcode to ConstantRange ctor!");
|
||||
case ICmpInst::ICMP_EQ: Upper++; break;
|
||||
case ICmpInst::ICMP_NE: Lower++; break;
|
||||
case ICmpInst::ICMP_EQ: ++Upper; break;
|
||||
case ICmpInst::ICMP_NE: ++Lower; break;
|
||||
case ICmpInst::ICMP_ULT:
|
||||
Lower = APInt::getMinValue(BitWidth);
|
||||
// Check for an empty-set condition.
|
||||
@ -3015,25 +3015,25 @@ ICmpInst::makeConstantRange(Predicate pred, const APInt &C) {
|
||||
return ConstantRange(BitWidth, /*isFullSet=*/false);
|
||||
break;
|
||||
case ICmpInst::ICMP_UGT:
|
||||
Lower++; Upper = APInt::getMinValue(BitWidth); // Min = Next(Max)
|
||||
++Lower; Upper = APInt::getMinValue(BitWidth); // Min = Next(Max)
|
||||
// Check for an empty-set condition.
|
||||
if (Lower == Upper)
|
||||
return ConstantRange(BitWidth, /*isFullSet=*/false);
|
||||
break;
|
||||
case ICmpInst::ICMP_SGT:
|
||||
Lower++; Upper = APInt::getSignedMinValue(BitWidth); // Min = Next(Max)
|
||||
++Lower; Upper = APInt::getSignedMinValue(BitWidth); // Min = Next(Max)
|
||||
// Check for an empty-set condition.
|
||||
if (Lower == Upper)
|
||||
return ConstantRange(BitWidth, /*isFullSet=*/false);
|
||||
break;
|
||||
case ICmpInst::ICMP_ULE:
|
||||
Lower = APInt::getMinValue(BitWidth); Upper++;
|
||||
Lower = APInt::getMinValue(BitWidth); ++Upper;
|
||||
// Check for a full-set condition.
|
||||
if (Lower == Upper)
|
||||
return ConstantRange(BitWidth, /*isFullSet=*/true);
|
||||
break;
|
||||
case ICmpInst::ICMP_SLE:
|
||||
Lower = APInt::getSignedMinValue(BitWidth); Upper++;
|
||||
Lower = APInt::getSignedMinValue(BitWidth); ++Upper;
|
||||
// Check for a full-set condition.
|
||||
if (Lower == Upper)
|
||||
return ConstantRange(BitWidth, /*isFullSet=*/true);
|
||||
|
@ -559,12 +559,12 @@ bool APInt::slt(const APInt& RHS) const {
|
||||
if (lhsNeg) {
|
||||
// Sign bit is set so perform two's complement to make it positive
|
||||
lhs.flipAllBits();
|
||||
lhs++;
|
||||
++lhs;
|
||||
}
|
||||
if (rhsNeg) {
|
||||
// Sign bit is set so perform two's complement to make it positive
|
||||
rhs.flipAllBits();
|
||||
rhs++;
|
||||
++rhs;
|
||||
}
|
||||
|
||||
// Now we have unsigned values to compare so do the comparison if necessary
|
||||
@ -2116,7 +2116,7 @@ void APInt::fromString(unsigned numbits, StringRef str, uint8_t radix) {
|
||||
}
|
||||
// If its negative, put it in two's complement form
|
||||
if (isNeg) {
|
||||
(*this)--;
|
||||
--(*this);
|
||||
this->flipAllBits();
|
||||
}
|
||||
}
|
||||
@ -2197,7 +2197,7 @@ void APInt::toString(SmallVectorImpl<char> &Str, unsigned Radix,
|
||||
// Flip the bits and add one to turn it into the equivalent positive
|
||||
// value and put a '-' in the result.
|
||||
Tmp.flipAllBits();
|
||||
Tmp++;
|
||||
++Tmp;
|
||||
Str.push_back('-');
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user