mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-03 14:31:10 +00:00
Convert SelectionDAG::getMergeValues to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207374 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e046664a0e
commit
a7f892b33b
@ -747,7 +747,7 @@ public:
|
||||
EVT MemVT, MachineMemOperand *MMO);
|
||||
|
||||
/// getMergeValues - Create a MERGE_VALUES node from the given operands.
|
||||
SDValue getMergeValues(const SDValue *Ops, unsigned NumOps, SDLoc dl);
|
||||
SDValue getMergeValues(ArrayRef<SDValue> Ops, SDLoc dl);
|
||||
|
||||
/// getLoad - Loads are not normal binary operators: their result type is not
|
||||
/// determined by their operands, and they produce a value AND a token chain.
|
||||
|
@ -4399,17 +4399,15 @@ SDValue SelectionDAG::getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT,
|
||||
}
|
||||
|
||||
/// getMergeValues - Create a MERGE_VALUES node from the given operands.
|
||||
SDValue SelectionDAG::getMergeValues(const SDValue *Ops, unsigned NumOps,
|
||||
SDLoc dl) {
|
||||
if (NumOps == 1)
|
||||
SDValue SelectionDAG::getMergeValues(ArrayRef<SDValue> Ops, SDLoc dl) {
|
||||
if (Ops.size() == 1)
|
||||
return Ops[0];
|
||||
|
||||
SmallVector<EVT, 4> VTs;
|
||||
VTs.reserve(NumOps);
|
||||
for (unsigned i = 0; i < NumOps; ++i)
|
||||
VTs.reserve(Ops.size());
|
||||
for (unsigned i = 0; i < Ops.size(); ++i)
|
||||
VTs.push_back(Ops[i].getValueType());
|
||||
return getNode(ISD::MERGE_VALUES, dl, getVTList(VTs),
|
||||
ArrayRef<SDValue>(Ops, NumOps));
|
||||
return getNode(ISD::MERGE_VALUES, dl, getVTList(VTs), Ops.data(), Ops.size());
|
||||
}
|
||||
|
||||
SDValue
|
||||
|
@ -1092,8 +1092,7 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
|
||||
Constants.push_back(SDValue(Val, i));
|
||||
}
|
||||
|
||||
return DAG.getMergeValues(&Constants[0], Constants.size(),
|
||||
getCurSDLoc());
|
||||
return DAG.getMergeValues(Constants, getCurSDLoc());
|
||||
}
|
||||
|
||||
if (const ConstantDataSequential *CDS =
|
||||
@ -1108,7 +1107,7 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
|
||||
}
|
||||
|
||||
if (isa<ArrayType>(CDS->getType()))
|
||||
return DAG.getMergeValues(&Ops[0], Ops.size(), getCurSDLoc());
|
||||
return DAG.getMergeValues(Ops, getCurSDLoc());
|
||||
return NodeMap[V] = DAG.getNode(ISD::BUILD_VECTOR, getCurSDLoc(),
|
||||
VT, Ops);
|
||||
}
|
||||
@ -1133,8 +1132,7 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
|
||||
Constants[i] = DAG.getConstant(0, EltVT);
|
||||
}
|
||||
|
||||
return DAG.getMergeValues(&Constants[0], NumElts,
|
||||
getCurSDLoc());
|
||||
return DAG.getMergeValues(Constants, getCurSDLoc());
|
||||
}
|
||||
|
||||
if (const BlockAddress *BA = dyn_cast<BlockAddress>(C))
|
||||
@ -7498,7 +7496,8 @@ void SelectionDAGISel::LowerArguments(const Function &F) {
|
||||
dyn_cast<FrameIndexSDNode>(ArgValues[0].getNode()))
|
||||
FuncInfo->setArgumentFrameIndex(I, FI->getIndex());
|
||||
|
||||
SDValue Res = DAG.getMergeValues(&ArgValues[0], NumValues,
|
||||
SDValue Res = DAG.getMergeValues(ArrayRef<SDValue>(ArgValues.data(),
|
||||
NumValues),
|
||||
SDB->getCurSDLoc());
|
||||
|
||||
SDB->setValue(I, Res);
|
||||
|
@ -4586,7 +4586,7 @@ SDValue AArch64TargetLowering::LowerShiftRightParts(SDValue Op,
|
||||
TrueVal, FalseVal, A64cc);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
/// LowerShiftLeftParts - Lower SHL_PARTS, which returns two
|
||||
@ -4625,7 +4625,7 @@ SDValue AArch64TargetLowering::LowerShiftLeftParts(SDValue Op,
|
||||
Tmp3, FalseVal, A64cc);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
// If this is a case we can't handle, return null and let the default
|
||||
|
@ -3870,7 +3870,7 @@ SDValue ARMTargetLowering::LowerShiftRightParts(SDValue Op,
|
||||
CCR, Cmp);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
/// LowerShiftLeftParts - Lower SHL_PARTS, which returns two
|
||||
@ -3904,7 +3904,7 @@ SDValue ARMTargetLowering::LowerShiftLeftParts(SDValue Op,
|
||||
CCR, Cmp);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue ARMTargetLowering::LowerFLT_ROUNDS_(SDValue Op,
|
||||
|
@ -3347,7 +3347,7 @@ SDValue ARM64TargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG) const {
|
||||
DAG.getIntPtrConstant(1));
|
||||
SDValue Ops[] = { NarrowFP, WideFP.getValue(1) };
|
||||
// Merge the rounded value with the chain output of the load.
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
return DAG.getLoad(VT, DL, APStore, VAList, MachinePointerInfo(), false,
|
||||
@ -3434,7 +3434,7 @@ SDValue ARM64TargetLowering::LowerShiftRightParts(SDValue Op,
|
||||
DAG.getNode(ARM64ISD::CSEL, dl, VT, TrueValHi, FalseValHi, CCVal, Cmp);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
/// LowerShiftLeftParts - Lower SHL_PARTS, which returns two
|
||||
@ -3474,7 +3474,7 @@ SDValue ARM64TargetLowering::LowerShiftLeftParts(SDValue Op,
|
||||
DAG.getNode(ARM64ISD::CSEL, dl, VT, TrueValLo, FalseValLo, CCVal, Cmp);
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -817,7 +817,7 @@ HexagonTargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op,
|
||||
Sub);
|
||||
|
||||
SDValue Ops[2] = { ArgAdjust, CopyChain };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue
|
||||
|
@ -1876,7 +1876,7 @@ SDValue MipsTargetLowering::lowerShiftLeftParts(SDValue Op,
|
||||
Hi = DAG.getNode(ISD::SELECT, DL, MVT::i32, Cond, ShiftLeftLo, Or);
|
||||
|
||||
SDValue Ops[2] = {Lo, Hi};
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue MipsTargetLowering::lowerShiftRightParts(SDValue Op, SelectionDAG &DAG,
|
||||
@ -1917,7 +1917,7 @@ SDValue MipsTargetLowering::lowerShiftRightParts(SDValue Op, SelectionDAG &DAG,
|
||||
ShiftRightHi);
|
||||
|
||||
SDValue Ops[2] = {Lo, Hi};
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
static SDValue createLoadLR(unsigned Opc, SelectionDAG &DAG, LoadSDNode *LD,
|
||||
@ -1996,7 +1996,7 @@ SDValue MipsTargetLowering::lowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue SLL = DAG.getNode(ISD::SHL, DL, MVT::i64, LWR, Const32);
|
||||
SDValue SRL = DAG.getNode(ISD::SRL, DL, MVT::i64, SLL, Const32);
|
||||
SDValue Ops[] = { SRL, LWR.getValue(1) };
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
static SDValue createStoreLR(unsigned Opc, SelectionDAG &DAG, StoreSDNode *SD,
|
||||
|
@ -1118,7 +1118,7 @@ SDValue MipsSETargetLowering::lowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
|
||||
SDValue BP = DAG.getNode(MipsISD::BuildPairF64, DL, MVT::f64, Lo, Hi);
|
||||
SDValue Ops[2] = {BP, Hi.getValue(1)};
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue MipsSETargetLowering::lowerSTORE(SDValue Op, SelectionDAG &DAG) const {
|
||||
@ -1169,7 +1169,7 @@ SDValue MipsSETargetLowering::lowerMulDiv(SDValue Op, unsigned NewOpc,
|
||||
return HasLo ? Lo : Hi;
|
||||
|
||||
SDValue Vals[] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Vals, 2, DL);
|
||||
return DAG.getMergeValues(Vals, DL);
|
||||
}
|
||||
|
||||
|
||||
@ -1244,7 +1244,7 @@ static SDValue lowerDSPIntr(SDValue Op, SelectionDAG &DAG, unsigned Opc) {
|
||||
|
||||
assert(Val->getValueType(1) == MVT::Other);
|
||||
SDValue Vals[] = { Out, SDValue(Val.getNode(), 1) };
|
||||
return DAG.getMergeValues(Vals, 2, DL);
|
||||
return DAG.getMergeValues(Vals, DL);
|
||||
}
|
||||
|
||||
// Lower an MSA copy intrinsic into the specified SelectionDAG node
|
||||
|
@ -1314,7 +1314,7 @@ SDValue NVPTXTargetLowering::LowerLOADi1(SDValue Op, SelectionDAG &DAG) const {
|
||||
// load, so we build a MergeValues node for it. See ExpandUnalignedLoad()
|
||||
// in LegalizeDAG.cpp which also uses MergeValues.
|
||||
SDValue Ops[] = { result, LD->getChain() };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue NVPTXTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
|
||||
|
@ -4923,7 +4923,7 @@ SDValue PPCTargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue Result = DAG.getNode(ISD::TRUNCATE, dl, MVT::i1, NewLD);
|
||||
|
||||
SDValue Ops[] = { Result, SDValue(NewLD.getNode(), 1) };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue PPCTargetLowering::LowerSTORE(SDValue Op, SelectionDAG &DAG) const {
|
||||
@ -5341,7 +5341,7 @@ SDValue PPCTargetLowering::LowerSHL_PARTS(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue OutHi = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6);
|
||||
SDValue OutLo = DAG.getNode(PPCISD::SHL, dl, VT, Lo, Amt);
|
||||
SDValue OutOps[] = { OutLo, OutHi };
|
||||
return DAG.getMergeValues(OutOps, 2, dl);
|
||||
return DAG.getMergeValues(OutOps, dl);
|
||||
}
|
||||
|
||||
SDValue PPCTargetLowering::LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const {
|
||||
@ -5370,7 +5370,7 @@ SDValue PPCTargetLowering::LowerSRL_PARTS(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue OutLo = DAG.getNode(ISD::OR, dl, VT, Tmp4, Tmp6);
|
||||
SDValue OutHi = DAG.getNode(PPCISD::SRL, dl, VT, Hi, Amt);
|
||||
SDValue OutOps[] = { OutLo, OutHi };
|
||||
return DAG.getMergeValues(OutOps, 2, dl);
|
||||
return DAG.getMergeValues(OutOps, dl);
|
||||
}
|
||||
|
||||
SDValue PPCTargetLowering::LowerSRA_PARTS(SDValue Op, SelectionDAG &DAG) const {
|
||||
@ -5399,7 +5399,7 @@ SDValue PPCTargetLowering::LowerSRA_PARTS(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue OutLo = DAG.getSelectCC(dl, Tmp5, DAG.getConstant(0, AmtVT),
|
||||
Tmp4, Tmp6, ISD::SETLE);
|
||||
SDValue OutOps[] = { OutLo, OutHi };
|
||||
return DAG.getMergeValues(OutOps, 2, dl);
|
||||
return DAG.getMergeValues(OutOps, dl);
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
@ -1047,7 +1047,7 @@ SDValue AMDGPUTargetLowering::LowerUDIVREM(SDValue Op,
|
||||
Div,
|
||||
Rem
|
||||
};
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue AMDGPUTargetLowering::LowerUINT_TO_FP(SDValue Op,
|
||||
|
@ -1239,7 +1239,7 @@ SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
Ret,
|
||||
Chain
|
||||
};
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
|
||||
@ -1248,7 +1248,7 @@ SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
SplitVectorLoad(Op, DAG),
|
||||
Chain
|
||||
};
|
||||
return DAG.getMergeValues(MergedValues, 2, DL);
|
||||
return DAG.getMergeValues(MergedValues, DL);
|
||||
}
|
||||
|
||||
int ConstantBlock = ConstantAddressBlock(LoadNode->getAddressSpace());
|
||||
@ -1296,7 +1296,7 @@ SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
Result,
|
||||
Chain
|
||||
};
|
||||
return DAG.getMergeValues(MergedValues, 2, DL);
|
||||
return DAG.getMergeValues(MergedValues, DL);
|
||||
}
|
||||
|
||||
// For most operations returning SDValue() will result in the node being
|
||||
@ -1320,7 +1320,7 @@ SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
SDValue Sra = DAG.getNode(ISD::SRA, DL, VT, Shl, ShiftAmount);
|
||||
|
||||
SDValue MergedValues[2] = { Sra, Chain };
|
||||
return DAG.getMergeValues(MergedValues, 2, DL);
|
||||
return DAG.getMergeValues(MergedValues, DL);
|
||||
}
|
||||
|
||||
if (LoadNode->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS) {
|
||||
@ -1370,7 +1370,7 @@ SDValue R600TargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
Chain
|
||||
};
|
||||
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
/// XXX Only kernel functions are supported, so we can assume for now that
|
||||
|
@ -559,7 +559,7 @@ SDValue SITargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
|
||||
SplitVectorLoad(Op, DAG),
|
||||
Load->getChain()
|
||||
};
|
||||
return DAG.getMergeValues(MergedValues, 2, SDLoc(Op));
|
||||
return DAG.getMergeValues(MergedValues, SDLoc(Op));
|
||||
} else {
|
||||
return LowerLOAD(Op, DAG);
|
||||
}
|
||||
@ -787,7 +787,7 @@ SDValue SITargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
MergedValues[1] = Load->getChain();
|
||||
if (Ret.getNode()) {
|
||||
MergedValues[0] = Ret;
|
||||
return DAG.getMergeValues(MergedValues, 2, DL);
|
||||
return DAG.getMergeValues(MergedValues, DL);
|
||||
}
|
||||
|
||||
if (Load->getAddressSpace() != AMDGPUAS::PRIVATE_ADDRESS) {
|
||||
@ -818,7 +818,7 @@ SDValue SITargetLowering::LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
}
|
||||
|
||||
MergedValues[0] = Ret;
|
||||
return DAG.getMergeValues(MergedValues, 2, DL);
|
||||
return DAG.getMergeValues(MergedValues, DL);
|
||||
|
||||
}
|
||||
|
||||
|
@ -2422,7 +2422,7 @@ static SDValue LowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG,
|
||||
SDValue NewVal = DAG.getNode(ISD::ADD, dl, VT, NewSP,
|
||||
DAG.getConstant(regSpillArea, VT));
|
||||
SDValue Ops[2] = { NewVal, Chain };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
|
||||
@ -2593,7 +2593,7 @@ static SDValue LowerF128Load(SDValue Op, SelectionDAG &DAG)
|
||||
SDValue(Lo64.getNode(), 1) };
|
||||
SDValue OutChain = DAG.getNode(ISD::TokenFactor, dl, MVT::Other, OutChains);
|
||||
SDValue Ops[2] = {SDValue(InFP128,0), OutChain};
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
// Lower a f128 store into two f64 stores.
|
||||
@ -2718,7 +2718,7 @@ static SDValue LowerADDC_ADDE_SUBC_SUBE(SDValue Op, SelectionDAG &DAG) {
|
||||
|
||||
SDValue Dst = DAG.getNode(ISD::OR, dl, MVT::i64, Hi, Lo);
|
||||
SDValue Ops[2] = { Dst, Carry };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
// Custom lower UMULO/SMULO for SPARC. This code is similar to ExpandNode()
|
||||
@ -2765,7 +2765,7 @@ static SDValue LowerUMULO_SMULO(SDValue Op, SelectionDAG &DAG,
|
||||
DAG.DeleteNode(MulResult.getNode());
|
||||
|
||||
SDValue Ops[2] = { BottomHalf, TopHalf } ;
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
static SDValue LowerATOMIC_LOAD_STORE(SDValue Op, SelectionDAG &DAG) {
|
||||
|
@ -2010,7 +2010,7 @@ lowerDYNAMIC_STACKALLOC(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue Result = DAG.getNode(ISD::ADD, DL, MVT::i64, NewSP, ArgAdjust);
|
||||
|
||||
SDValue Ops[2] = { Result, Chain };
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue SystemZTargetLowering::lowerSMUL_LOHI(SDValue Op,
|
||||
@ -2052,7 +2052,7 @@ SDValue SystemZTargetLowering::lowerSMUL_LOHI(SDValue Op,
|
||||
SDValue NegSum = DAG.getNode(ISD::ADD, DL, VT, NegLLTimesRH, NegLHTimesRL);
|
||||
Ops[1] = DAG.getNode(ISD::SUB, DL, VT, Ops[1], NegSum);
|
||||
}
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue SystemZTargetLowering::lowerUMUL_LOHI(SDValue Op,
|
||||
@ -2071,7 +2071,7 @@ SDValue SystemZTargetLowering::lowerUMUL_LOHI(SDValue Op,
|
||||
// low half first, so the results are in reverse order.
|
||||
lowerGR128Binary(DAG, DL, VT, SystemZ::AEXT128_64, SystemZISD::UMUL_LOHI64,
|
||||
Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue SystemZTargetLowering::lowerSDIVREM(SDValue Op,
|
||||
@ -2098,7 +2098,7 @@ SDValue SystemZTargetLowering::lowerSDIVREM(SDValue Op,
|
||||
SDValue Ops[2];
|
||||
lowerGR128Binary(DAG, DL, VT, SystemZ::AEXT128_64, Opcode,
|
||||
Op0, Op1, Ops[1], Ops[0]);
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue SystemZTargetLowering::lowerUDIVREM(SDValue Op,
|
||||
@ -2116,7 +2116,7 @@ SDValue SystemZTargetLowering::lowerUDIVREM(SDValue Op,
|
||||
else
|
||||
lowerGR128Binary(DAG, DL, VT, SystemZ::ZEXT128_64, SystemZISD::UDIVREM64,
|
||||
Op.getOperand(0), Op.getOperand(1), Ops[1], Ops[0]);
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue SystemZTargetLowering::lowerOR(SDValue Op, SelectionDAG &DAG) const {
|
||||
@ -2266,7 +2266,7 @@ SDValue SystemZTargetLowering::lowerATOMIC_LOAD_OP(SDValue Op,
|
||||
SDValue Result = DAG.getNode(ISD::ROTL, DL, WideVT, AtomicOp, ResultShift);
|
||||
|
||||
SDValue RetOps[2] = { Result, AtomicOp.getValue(1) };
|
||||
return DAG.getMergeValues(RetOps, 2, DL);
|
||||
return DAG.getMergeValues(RetOps, DL);
|
||||
}
|
||||
|
||||
// Op is an ATOMIC_LOAD_SUB operation. Lower 8- and 16-bit operations
|
||||
|
@ -1848,7 +1848,7 @@ SDNode *X86DAGToDAGISel::SelectAtomicLoadArith(SDNode *Node, MVT NVT) {
|
||||
}
|
||||
cast<MachineSDNode>(Ret)->setMemRefs(MemOp, MemOp + 1);
|
||||
SDValue RetVals[] = { Undef, Ret };
|
||||
return CurDAG->getMergeValues(RetVals, 2, dl).getNode();
|
||||
return CurDAG->getMergeValues(RetVals, dl).getNode();
|
||||
}
|
||||
|
||||
/// HasNoSignedComparisonUses - Test whether the given X86ISD::CMP node has
|
||||
|
@ -8801,7 +8801,7 @@ static SDValue LowerShiftParts(SDValue Op, SelectionDAG &DAG) {
|
||||
}
|
||||
|
||||
SDValue Ops[2] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, array_lengthof(Ops), dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue X86TargetLowering::LowerSINT_TO_FP(SDValue Op,
|
||||
@ -9202,7 +9202,7 @@ X86TargetLowering:: FP_TO_INTHelper(SDValue Op, SelectionDAG &DAG,
|
||||
SDValue Ops[] = { eax, edx };
|
||||
SDValue pair = IsReplace
|
||||
? DAG.getNode(ISD::BUILD_PAIR, DL, MVT::i64, Ops)
|
||||
: DAG.getMergeValues(Ops, array_lengthof(Ops), DL);
|
||||
: DAG.getMergeValues(Ops, DL);
|
||||
return std::make_pair(pair, SDValue());
|
||||
}
|
||||
}
|
||||
@ -11281,7 +11281,7 @@ X86TargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op,
|
||||
SDLoc(Node));
|
||||
|
||||
SDValue Ops[2] = { Tmp1, Tmp2 };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
// Get the inputs.
|
||||
@ -11315,7 +11315,7 @@ X86TargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op,
|
||||
SDValue Value = DAG.getNode(X86ISD::SEG_ALLOCA, dl, SPTy, Chain,
|
||||
DAG.getRegister(Vreg, SPTy));
|
||||
SDValue Ops1[2] = { Value, Chain };
|
||||
return DAG.getMergeValues(Ops1, 2, dl);
|
||||
return DAG.getMergeValues(Ops1, dl);
|
||||
} else {
|
||||
SDValue Flag;
|
||||
unsigned Reg = (Subtarget->is64Bit() ? X86::RAX : X86::EAX);
|
||||
@ -11339,7 +11339,7 @@ X86TargetLowering::LowerDYNAMIC_STACKALLOC(SDValue Op,
|
||||
}
|
||||
|
||||
SDValue Ops1[2] = { SP, Chain };
|
||||
return DAG.getMergeValues(Ops1, 2, dl);
|
||||
return DAG.getMergeValues(Ops1, dl);
|
||||
}
|
||||
}
|
||||
|
||||
@ -12306,7 +12306,7 @@ static SDValue getGatherNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
|
||||
SDValue Ops[] = {Src, MaskInReg, Base, Scale, Index, Disp, Segment, Chain};
|
||||
SDNode *Res = DAG.getMachineNode(Opc, dl, VTs, Ops);
|
||||
SDValue RetOps[] = { SDValue(Res, 0), SDValue(Res, 2) };
|
||||
return DAG.getMergeValues(RetOps, array_lengthof(RetOps), dl);
|
||||
return DAG.getMergeValues(RetOps, dl);
|
||||
}
|
||||
|
||||
static SDValue getMGatherNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
|
||||
@ -12328,7 +12328,7 @@ static SDValue getMGatherNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
|
||||
SDValue Ops[] = {Src, MaskInReg, Base, Scale, Index, Disp, Segment, Chain};
|
||||
SDNode *Res = DAG.getMachineNode(Opc, dl, VTs, Ops);
|
||||
SDValue RetOps[] = { SDValue(Res, 0), SDValue(Res, 2) };
|
||||
return DAG.getMergeValues(RetOps, array_lengthof(RetOps), dl);
|
||||
return DAG.getMergeValues(RetOps, dl);
|
||||
}
|
||||
|
||||
static SDValue getScatterNode(unsigned Opc, SDValue Op, SelectionDAG &DAG,
|
||||
@ -12427,7 +12427,7 @@ static SDValue LowerREADCYCLECOUNTER(SDValue Op, const X86Subtarget *Subtarget,
|
||||
SDLoc DL(Op);
|
||||
getReadTimeStampCounter(Op.getNode(), DL, X86ISD::RDTSC_DAG, DAG, Subtarget,
|
||||
Results);
|
||||
return DAG.getMergeValues(&Results[0], Results.size(), DL);
|
||||
return DAG.getMergeValues(Results, DL);
|
||||
}
|
||||
|
||||
static SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, const X86Subtarget *Subtarget,
|
||||
@ -12618,7 +12618,7 @@ static SDValue LowerINTRINSIC_W_CHAIN(SDValue Op, const X86Subtarget *Subtarget,
|
||||
}
|
||||
SmallVector<SDValue, 2> Results;
|
||||
getReadTimeStampCounter(Op.getNode(), dl, Opc, DAG, Subtarget, Results);
|
||||
return DAG.getMergeValues(&Results[0], Results.size(), dl);
|
||||
return DAG.getMergeValues(Results, dl);
|
||||
}
|
||||
// XTEST intrinsics.
|
||||
case Intrinsic::x86_xtest: {
|
||||
|
@ -428,7 +428,7 @@ lowerLoadWordFromAlignedBasePlusOffset(SDLoc DL, SDValue Chain, SDValue Base,
|
||||
Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Low.getValue(1),
|
||||
High.getValue(1));
|
||||
SDValue Ops[] = { Result, Chain };
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
static bool isWordAligned(SDValue Value, SelectionDAG &DAG)
|
||||
@ -494,7 +494,7 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
Chain = DAG.getNode(ISD::TokenFactor, DL, MVT::Other, Low.getValue(1),
|
||||
High.getValue(1));
|
||||
SDValue Ops[] = { Result, Chain };
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
// Lower to a call to __misaligned_load(BasePtr).
|
||||
@ -516,7 +516,7 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const {
|
||||
SDValue Ops[] =
|
||||
{ CallResult.first, CallResult.second };
|
||||
|
||||
return DAG.getMergeValues(Ops, 2, DL);
|
||||
return DAG.getMergeValues(Ops, DL);
|
||||
}
|
||||
|
||||
SDValue XCoreTargetLowering::
|
||||
@ -593,7 +593,7 @@ LowerSMUL_LOHI(SDValue Op, SelectionDAG &DAG) const
|
||||
LHS, RHS);
|
||||
SDValue Lo(Hi.getNode(), 1);
|
||||
SDValue Ops[] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
SDValue XCoreTargetLowering::
|
||||
@ -610,7 +610,7 @@ LowerUMUL_LOHI(SDValue Op, SelectionDAG &DAG) const
|
||||
Zero, Zero);
|
||||
SDValue Lo(Hi.getNode(), 1);
|
||||
SDValue Ops[] = { Lo, Hi };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
/// isADDADDMUL - Return whether Op is in a form that is equivalent to
|
||||
@ -967,7 +967,7 @@ LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG) const {
|
||||
Op.getOperand(1), Op.getOperand(2) , Op.getOperand(3));
|
||||
SDValue Crc(Data.getNode(), 1);
|
||||
SDValue Results[] = { Crc, Data };
|
||||
return DAG.getMergeValues(Results, 2, DL);
|
||||
return DAG.getMergeValues(Results, DL);
|
||||
}
|
||||
return SDValue();
|
||||
}
|
||||
@ -1690,7 +1690,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
SDValue Result = DAG.getNode(ISD::AND, dl, VT, N2,
|
||||
DAG.getConstant(1, VT));
|
||||
SDValue Ops[] = { Result, Carry };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
|
||||
// fold (ladd x, 0, y) -> 0, add x, y iff carry is unused and y has only the
|
||||
@ -1704,7 +1704,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
SDValue Carry = DAG.getConstant(0, VT);
|
||||
SDValue Result = DAG.getNode(ISD::ADD, dl, VT, N0, N2);
|
||||
SDValue Ops[] = { Result, Carry };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1728,7 +1728,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
SDValue Result = DAG.getNode(ISD::SUB, dl, VT,
|
||||
DAG.getConstant(0, VT), N2);
|
||||
SDValue Ops[] = { Result, Borrow };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1743,7 +1743,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
SDValue Borrow = DAG.getConstant(0, VT);
|
||||
SDValue Result = DAG.getNode(ISD::SUB, dl, VT, N0, N2);
|
||||
SDValue Ops[] = { Result, Borrow };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1769,14 +1769,14 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
|
||||
if (N->hasNUsesOfValue(0, 0)) {
|
||||
SDValue Lo = DAG.getNode(ISD::ADD, dl, VT, N2, N3);
|
||||
SDValue Ops[] = { Lo, Lo };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
// Otherwise fold to ladd(a, b, 0)
|
||||
SDValue Result =
|
||||
DAG.getNode(XCoreISD::LADD, dl, DAG.getVTList(VT, VT), N2, N3, N1);
|
||||
SDValue Carry(Result.getNode(), 1);
|
||||
SDValue Ops[] = { Carry, Result };
|
||||
return DAG.getMergeValues(Ops, 2, dl);
|
||||
return DAG.getMergeValues(Ops, dl);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user