mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
Avoid unnecessarily copying APInt objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53065 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
ce3c413e07
commit
9b44c1f2a0
@ -1601,7 +1601,7 @@ void SelectionDAG::ComputeMaskedBits(SDOperand Op, const APInt &Mask,
|
||||
}
|
||||
case ISD::SREM:
|
||||
if (ConstantSDNode *Rem = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
|
||||
APInt RA = Rem->getAPIntValue();
|
||||
const APInt &RA = Rem->getAPIntValue();
|
||||
if (RA.isPowerOf2() || (-RA).isPowerOf2()) {
|
||||
APInt LowBits = RA.isStrictlyPositive() ? (RA - 1) : ~RA;
|
||||
APInt Mask2 = LowBits | APInt::getSignBit(BitWidth);
|
||||
@ -1623,7 +1623,7 @@ void SelectionDAG::ComputeMaskedBits(SDOperand Op, const APInt &Mask,
|
||||
return;
|
||||
case ISD::UREM: {
|
||||
if (ConstantSDNode *Rem = dyn_cast<ConstantSDNode>(Op.getOperand(1))) {
|
||||
APInt RA = Rem->getAPIntValue();
|
||||
const APInt &RA = Rem->getAPIntValue();
|
||||
if (RA.isPowerOf2()) {
|
||||
APInt LowBits = (RA - 1);
|
||||
APInt Mask2 = LowBits & Mask;
|
||||
@ -2305,7 +2305,7 @@ SDOperand SelectionDAG::getNode(unsigned Opcode, MVT VT,
|
||||
|
||||
if (N1C) {
|
||||
if (N2C) {
|
||||
APInt C1 = N1C->getAPIntValue(), C2 = N2C->getAPIntValue();
|
||||
const APInt &C1 = N1C->getAPIntValue(), &C2 = N2C->getAPIntValue();
|
||||
switch (Opcode) {
|
||||
case ISD::ADD: return getConstant(C1 + C2, VT);
|
||||
case ISD::SUB: return getConstant(C1 - C2, VT);
|
||||
|
Loading…
x
Reference in New Issue
Block a user