From 420420de57ccbd78805ed86df49b6c19088f99c4 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 16 Feb 2021 12:40:10 +0000 Subject: [PATCH] [DAG] Avoid APInt copies by directly using the APInt reference from getAPIntValue. NFCI. --- llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index eae4c4a7b394..6fd14a35ac97 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -5315,8 +5315,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT, assert(N1.getValueType() == N2.getValueType() && N1.getValueType() == VT && "Binary operator types must match!"); if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) { - APInt MulImm = cast(N1->getOperand(0))->getAPIntValue(); - APInt N2CImm = N2C->getAPIntValue(); + const APInt &MulImm = N1->getConstantOperandAPInt(0); + const APInt &N2CImm = N2C->getAPIntValue(); return getVScale(DL, VT, MulImm * N2CImm); } break; @@ -5369,8 +5369,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT, break; case ISD::SHL: if (N2C && (N1.getOpcode() == ISD::VSCALE) && Flags.hasNoSignedWrap()) { - APInt MulImm = cast(N1->getOperand(0))->getAPIntValue(); - APInt ShiftImm = N2C->getAPIntValue(); + const APInt &MulImm = N1->getConstantOperandAPInt(0); + const APInt &ShiftImm = N2C->getAPIntValue(); return getVScale(DL, VT, MulImm << ShiftImm); } LLVM_FALLTHROUGH;