From: Dan Gohman Date: Thu, 3 Jul 2008 00:52:03 +0000 (+0000) Subject: Avoid unnecessarily copying APInt objects. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9b44c1f2a0ebe31e670994cfe131c7c3e0e80494;p=oota-llvm.git Avoid unnecessarily copying APInt objects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53065 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index e459ae74ec8..9cce7380fca 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -1601,7 +1601,7 @@ void SelectionDAG::ComputeMaskedBits(SDOperand Op, const APInt &Mask, } case ISD::SREM: if (ConstantSDNode *Rem = dyn_cast(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(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);