mirror of
https://github.com/RPCS3/llvm.git
synced 2025-02-04 09:37:20 +00:00
Convert SDNode constructor to use ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207375 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a7f892b33b
commit
479c81774d
@ -715,14 +715,14 @@ protected:
|
||||
}
|
||||
|
||||
SDNode(unsigned Opc, unsigned Order, const DebugLoc dl, SDVTList VTs,
|
||||
const SDValue *Ops, unsigned NumOps)
|
||||
ArrayRef<SDValue> Ops)
|
||||
: NodeType(Opc), OperandsNeedDelete(true), HasDebugValue(false),
|
||||
SubclassData(0), NodeId(-1),
|
||||
OperandList(NumOps ? new SDUse[NumOps] : nullptr),
|
||||
OperandList(Ops.size() ? new SDUse[Ops.size()] : nullptr),
|
||||
ValueList(VTs.VTs), UseList(nullptr),
|
||||
NumOperands(NumOps), NumValues(VTs.NumVTs),
|
||||
NumOperands(Ops.size()), NumValues(VTs.NumVTs),
|
||||
debugLoc(dl), IROrder(Order) {
|
||||
for (unsigned i = 0; i != NumOps; ++i) {
|
||||
for (unsigned i = 0; i != Ops.size(); ++i) {
|
||||
OperandList[i].setUser(this);
|
||||
OperandList[i].setInitial(Ops[i]);
|
||||
}
|
||||
@ -998,8 +998,7 @@ public:
|
||||
EVT MemoryVT, MachineMemOperand *MMO);
|
||||
|
||||
MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
const SDValue *Ops,
|
||||
unsigned NumOps, EVT MemoryVT, MachineMemOperand *MMO);
|
||||
ArrayRef<SDValue> Ops, EVT MemoryVT, MachineMemOperand *MMO);
|
||||
|
||||
bool readMem() const { return MMO->isLoad(); }
|
||||
bool writeMem() const { return MMO->isStore(); }
|
||||
@ -1217,7 +1216,7 @@ public:
|
||||
MemIntrinsicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
ArrayRef<SDValue> Ops, EVT MemoryVT,
|
||||
MachineMemOperand *MMO)
|
||||
: MemSDNode(Opc, Order, dl, VTs, Ops.data(), Ops.size(), MemoryVT, MMO) {
|
||||
: MemSDNode(Opc, Order, dl, VTs, Ops, MemoryVT, MMO) {
|
||||
}
|
||||
|
||||
// Methods to support isa and dyn_cast
|
||||
@ -1687,9 +1686,8 @@ class CvtRndSatSDNode : public SDNode {
|
||||
ISD::CvtCode CvtCode;
|
||||
friend class SelectionDAG;
|
||||
explicit CvtRndSatSDNode(EVT VT, unsigned Order, DebugLoc dl,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
ISD::CvtCode Code)
|
||||
: SDNode(ISD::CONVERT_RNDSAT, Order, dl, getSDVTList(VT), Ops, NumOps),
|
||||
ArrayRef<SDValue> Ops, ISD::CvtCode Code)
|
||||
: SDNode(ISD::CONVERT_RNDSAT, Order, dl, getSDVTList(VT), Ops),
|
||||
CvtCode(Code) {
|
||||
assert(NumOps == 5 && "wrong number of operations");
|
||||
}
|
||||
|
@ -1490,7 +1490,7 @@ SDValue SelectionDAG::getConvertRndSat(EVT VT, SDLoc dl,
|
||||
|
||||
CvtRndSatSDNode *N = new (NodeAllocator) CvtRndSatSDNode(VT, dl.getIROrder(),
|
||||
dl.getDebugLoc(),
|
||||
Ops, 5, Code);
|
||||
Ops, Code);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4407,7 +4407,7 @@ SDValue SelectionDAG::getMergeValues(ArrayRef<SDValue> Ops, SDLoc dl) {
|
||||
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), Ops.data(), Ops.size());
|
||||
return getNode(ISD::MERGE_VALUES, dl, getVTList(VTs), Ops);
|
||||
}
|
||||
|
||||
SDValue
|
||||
@ -4858,11 +4858,11 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT,
|
||||
return SDValue(E, 0);
|
||||
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTs, Ops.data(), NumOps);
|
||||
VTs, Ops);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTs, Ops.data(), NumOps);
|
||||
VTs, Ops);
|
||||
}
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -4928,7 +4928,7 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, SDVTList VTList,
|
||||
Ops[1], Ops[2]);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTList, Ops.data(), NumOps);
|
||||
VTList, Ops);
|
||||
}
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
@ -4945,7 +4945,7 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, SDVTList VTList,
|
||||
Ops[1], Ops[2]);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTList, Ops.data(), NumOps);
|
||||
VTList, Ops);
|
||||
}
|
||||
}
|
||||
AllNodes.push_back(N);
|
||||
@ -6092,9 +6092,8 @@ MemSDNode::MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
}
|
||||
|
||||
MemSDNode::MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
const SDValue *Ops, unsigned NumOps, EVT memvt,
|
||||
MachineMemOperand *mmo)
|
||||
: SDNode(Opc, Order, dl, VTs, Ops, NumOps),
|
||||
ArrayRef<SDValue> Ops, EVT memvt, MachineMemOperand *mmo)
|
||||
: SDNode(Opc, Order, dl, VTs, Ops),
|
||||
MemoryVT(memvt), MMO(mmo) {
|
||||
SubclassData = encodeMemSDNodeFlags(0, ISD::UNINDEXED, MMO->isVolatile(),
|
||||
MMO->isNonTemporal(), MMO->isInvariant());
|
||||
|
Loading…
x
Reference in New Issue
Block a user