Make APInt negate just do a 2's complement negate instead of subtract. NFC.
This is part of an effort to shave allocations from APInt heavy paths. I'll be moving many of the other operators to r-value references soon and this is a step towards doing that without too much duplication. Saves 15k allocations when doing 'opt -O2 verify-uselistorder.bc'. llvm-svn: 271556
This commit is contained in:
parent
651cff42c4
commit
c5f6a9df5f
|
|
@ -625,7 +625,12 @@ public:
|
|||
/// Negates *this using two's complement logic.
|
||||
///
|
||||
/// \returns An APInt value representing the negation of *this.
|
||||
APInt operator-() const { return APInt(BitWidth, 0) - (*this); }
|
||||
APInt operator-() const {
|
||||
APInt Result(*this);
|
||||
Result.flipAllBits();
|
||||
++Result;
|
||||
return Result;
|
||||
}
|
||||
|
||||
/// \brief Logical negation operator.
|
||||
///
|
||||
|
|
|
|||
Loading…
Reference in New Issue