forked from OSchip/llvm-project
[DAG] Avoid APInt copies by directly using the APInt reference from getAPIntValue. NFCI.
This commit is contained in:
parent
dd879f7dc9
commit
420420de57
|
@ -5315,8 +5315,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|
||||||
assert(N1.getValueType() == N2.getValueType() &&
|
assert(N1.getValueType() == N2.getValueType() &&
|
||||||
N1.getValueType() == VT && "Binary operator types must match!");
|
N1.getValueType() == VT && "Binary operator types must match!");
|
||||||
if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) {
|
if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) {
|
||||||
APInt MulImm = cast<ConstantSDNode>(N1->getOperand(0))->getAPIntValue();
|
const APInt &MulImm = N1->getConstantOperandAPInt(0);
|
||||||
APInt N2CImm = N2C->getAPIntValue();
|
const APInt &N2CImm = N2C->getAPIntValue();
|
||||||
return getVScale(DL, VT, MulImm * N2CImm);
|
return getVScale(DL, VT, MulImm * N2CImm);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -5369,8 +5369,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,
|
||||||
break;
|
break;
|
||||||
case ISD::SHL:
|
case ISD::SHL:
|
||||||
if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) {
|
if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) {
|
||||||
APInt MulImm = cast<ConstantSDNode>(N1->getOperand(0))->getAPIntValue();
|
const APInt &MulImm = N1->getConstantOperandAPInt(0);
|
||||||
APInt ShiftImm = N2C->getAPIntValue();
|
const APInt &ShiftImm = N2C->getAPIntValue();
|
||||||
return getVScale(DL, VT, MulImm << ShiftImm);
|
return getVScale(DL, VT, MulImm << ShiftImm);
|
||||||
}
|
}
|
||||||
LLVM_FALLTHROUGH;
|
LLVM_FALLTHROUGH;
|
||||||
|
|
Loading…
Reference in New Issue