mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-30 07:14:53 +00:00
white spaces and long lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190358 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b1c54930cb
commit
3af4d25067
@ -372,7 +372,7 @@ public:
|
||||
/// \<target\>ISD namespace).
|
||||
bool isTargetOpcode() const { return NodeType >= ISD::BUILTIN_OP_END; }
|
||||
|
||||
/// isTargetMemoryOpcode - Test if this node has a target-specific
|
||||
/// isTargetMemoryOpcode - Test if this node has a target-specific
|
||||
/// memory-referencing opcode (in the \<target\>ISD namespace and
|
||||
/// greater than FIRST_TARGET_MEMORY_OPCODE).
|
||||
bool isTargetMemoryOpcode() const {
|
||||
@ -520,7 +520,9 @@ public:
|
||||
/// isPredecessorOf - Return true if this node is a predecessor of N.
|
||||
/// NOTE: Implemented on top of hasPredecessor and every bit as
|
||||
/// expensive. Use carefully.
|
||||
bool isPredecessorOf(const SDNode *N) const { return N->hasPredecessor(this); }
|
||||
bool isPredecessorOf(const SDNode *N) const {
|
||||
return N->hasPredecessor(this);
|
||||
}
|
||||
|
||||
/// hasPredecessor - Return true if N is a predecessor of this node.
|
||||
/// N is either an operand of this node, or can be reached by recursively
|
||||
@ -901,7 +903,8 @@ inline void SDUse::setNode(SDNode *N) {
|
||||
class UnarySDNode : public SDNode {
|
||||
SDUse Op;
|
||||
public:
|
||||
UnarySDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, SDValue X)
|
||||
UnarySDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
SDValue X)
|
||||
: SDNode(Opc, Order, dl, VTs) {
|
||||
InitOperands(&Op, X);
|
||||
}
|
||||
@ -912,7 +915,8 @@ public:
|
||||
class BinarySDNode : public SDNode {
|
||||
SDUse Ops[2];
|
||||
public:
|
||||
BinarySDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, SDValue X, SDValue Y)
|
||||
BinarySDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
SDValue X, SDValue Y)
|
||||
: SDNode(Opc, Order, dl, VTs) {
|
||||
InitOperands(Ops, X, Y);
|
||||
}
|
||||
@ -966,14 +970,15 @@ public:
|
||||
MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
EVT MemoryVT, MachineMemOperand *MMO);
|
||||
|
||||
MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs, const SDValue *Ops,
|
||||
MemSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
|
||||
const SDValue *Ops,
|
||||
unsigned NumOps, EVT MemoryVT, MachineMemOperand *MMO);
|
||||
|
||||
bool readMem() const { return MMO->isLoad(); }
|
||||
bool writeMem() const { return MMO->isStore(); }
|
||||
|
||||
/// Returns alignment and volatility of the memory access
|
||||
unsigned getOriginalAlignment() const {
|
||||
unsigned getOriginalAlignment() const {
|
||||
return MMO->getBaseAlignment();
|
||||
}
|
||||
unsigned getAlignment() const {
|
||||
@ -1090,7 +1095,8 @@ public:
|
||||
// Swp: swap value
|
||||
// SrcVal: address to update as a Value (used for MemOperand)
|
||||
// Align: alignment of memory
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL, EVT MemVT,
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL,
|
||||
EVT MemVT,
|
||||
SDValue Chain, SDValue Ptr,
|
||||
SDValue Cmp, SDValue Swp, MachineMemOperand *MMO,
|
||||
AtomicOrdering Ordering, SynchronizationScope SynchScope)
|
||||
@ -1098,7 +1104,8 @@ public:
|
||||
InitAtomic(Ordering, SynchScope);
|
||||
InitOperands(Ops, Chain, Ptr, Cmp, Swp);
|
||||
}
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL, EVT MemVT,
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL,
|
||||
EVT MemVT,
|
||||
SDValue Chain, SDValue Ptr,
|
||||
SDValue Val, MachineMemOperand *MMO,
|
||||
AtomicOrdering Ordering, SynchronizationScope SynchScope)
|
||||
@ -1106,7 +1113,8 @@ public:
|
||||
InitAtomic(Ordering, SynchScope);
|
||||
InitOperands(Ops, Chain, Ptr, Val);
|
||||
}
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL, EVT MemVT,
|
||||
AtomicSDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTL,
|
||||
EVT MemVT,
|
||||
SDValue Chain, SDValue Ptr,
|
||||
MachineMemOperand *MMO,
|
||||
AtomicOrdering Ordering, SynchronizationScope SynchScope)
|
||||
@ -1286,8 +1294,9 @@ class GlobalAddressSDNode : public SDNode {
|
||||
int64_t Offset;
|
||||
unsigned char TargetFlags;
|
||||
friend class SelectionDAG;
|
||||
GlobalAddressSDNode(unsigned Opc, unsigned Order, DebugLoc DL, const GlobalValue *GA, EVT VT,
|
||||
int64_t o, unsigned char TargetFlags);
|
||||
GlobalAddressSDNode(unsigned Opc, unsigned Order, DebugLoc DL,
|
||||
const GlobalValue *GA, EVT VT, int64_t o,
|
||||
unsigned char TargetFlags);
|
||||
public:
|
||||
|
||||
const GlobalValue *getGlobal() const { return TheGlobal; }
|
||||
@ -1351,21 +1360,22 @@ class ConstantPoolSDNode : public SDNode {
|
||||
friend class SelectionDAG;
|
||||
ConstantPoolSDNode(bool isTarget, const Constant *c, EVT VT, int o,
|
||||
unsigned Align, unsigned char TF)
|
||||
: SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0, DebugLoc(),
|
||||
getSDVTList(VT)), Offset(o), Alignment(Align), TargetFlags(TF) {
|
||||
: SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
|
||||
DebugLoc(), getSDVTList(VT)), Offset(o), Alignment(Align),
|
||||
TargetFlags(TF) {
|
||||
assert(Offset >= 0 && "Offset is too large");
|
||||
Val.ConstVal = c;
|
||||
}
|
||||
ConstantPoolSDNode(bool isTarget, MachineConstantPoolValue *v,
|
||||
EVT VT, int o, unsigned Align, unsigned char TF)
|
||||
: SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0, DebugLoc(),
|
||||
getSDVTList(VT)), Offset(o), Alignment(Align), TargetFlags(TF) {
|
||||
: SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
|
||||
DebugLoc(), getSDVTList(VT)), Offset(o), Alignment(Align),
|
||||
TargetFlags(TF) {
|
||||
assert(Offset >= 0 && "Offset is too large");
|
||||
Val.MachineCPVal = v;
|
||||
Offset |= 1 << (sizeof(unsigned)*CHAR_BIT-1);
|
||||
}
|
||||
public:
|
||||
|
||||
|
||||
bool isMachineConstantPoolEntry() const {
|
||||
return Offset < 0;
|
||||
@ -1427,8 +1437,8 @@ class BasicBlockSDNode : public SDNode {
|
||||
/// blocks out of order when they're jumped to, which makes it a bit
|
||||
/// harder. Let's see if we need it first.
|
||||
explicit BasicBlockSDNode(MachineBasicBlock *mbb)
|
||||
: SDNode(ISD::BasicBlock, 0, DebugLoc(), getSDVTList(MVT::Other)), MBB(mbb) {
|
||||
}
|
||||
: SDNode(ISD::BasicBlock, 0, DebugLoc(), getSDVTList(MVT::Other)), MBB(mbb)
|
||||
{}
|
||||
public:
|
||||
|
||||
MachineBasicBlock *getBasicBlock() const { return MBB; }
|
||||
@ -1481,22 +1491,22 @@ public:
|
||||
return N->getOpcode() == ISD::SRCVALUE;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class MDNodeSDNode : public SDNode {
|
||||
const MDNode *MD;
|
||||
friend class SelectionDAG;
|
||||
explicit MDNodeSDNode(const MDNode *md)
|
||||
: SDNode(ISD::MDNODE_SDNODE, 0, DebugLoc(), getSDVTList(MVT::Other)), MD(md) {}
|
||||
: SDNode(ISD::MDNODE_SDNODE, 0, DebugLoc(), getSDVTList(MVT::Other)), MD(md)
|
||||
{}
|
||||
public:
|
||||
|
||||
|
||||
const MDNode *getMD() const { return MD; }
|
||||
|
||||
|
||||
static bool classof(const SDNode *N) {
|
||||
return N->getOpcode() == ISD::MDNODE_SDNODE;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class RegisterSDNode : public SDNode {
|
||||
unsigned Reg;
|
||||
friend class SelectionDAG;
|
||||
@ -1568,7 +1578,7 @@ public:
|
||||
class ExternalSymbolSDNode : public SDNode {
|
||||
const char *Symbol;
|
||||
unsigned char TargetFlags;
|
||||
|
||||
|
||||
friend class SelectionDAG;
|
||||
ExternalSymbolSDNode(bool isTarget, const char *Sym, unsigned char TF, EVT VT)
|
||||
: SDNode(isTarget ? ISD::TargetExternalSymbol : ISD::ExternalSymbol,
|
||||
@ -1600,14 +1610,15 @@ public:
|
||||
return N->getOpcode() == ISD::CONDCODE;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/// CvtRndSatSDNode - NOTE: avoid using this node as this may disappear in the
|
||||
/// future and most targets don't support it.
|
||||
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)
|
||||
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),
|
||||
CvtCode(Code) {
|
||||
assert(NumOps == 5 && "wrong number of operations");
|
||||
@ -1649,9 +1660,10 @@ class LSBaseSDNode : public MemSDNode {
|
||||
*/
|
||||
SDUse Ops[4];
|
||||
public:
|
||||
LSBaseSDNode(ISD::NodeType NodeTy, unsigned Order, DebugLoc dl, SDValue *Operands,
|
||||
unsigned numOperands, SDVTList VTs, ISD::MemIndexedMode AM,
|
||||
EVT MemVT, MachineMemOperand *MMO)
|
||||
LSBaseSDNode(ISD::NodeType NodeTy, unsigned Order, DebugLoc dl,
|
||||
SDValue *Operands, unsigned numOperands,
|
||||
SDVTList VTs, ISD::MemIndexedMode AM, EVT MemVT,
|
||||
MachineMemOperand *MMO)
|
||||
: MemSDNode(NodeTy, Order, dl, VTs, MemVT, MMO) {
|
||||
SubclassData |= AM << 2;
|
||||
assert(getAddressingMode() == AM && "MemIndexedMode encoding error!");
|
||||
|
@ -1373,7 +1373,9 @@ SDValue SelectionDAG::getVectorShuffle(EVT VT, SDLoc dl, SDValue N1,
|
||||
memcpy(MaskAlloc, &MaskVec[0], NElts * sizeof(int));
|
||||
|
||||
ShuffleVectorSDNode *N =
|
||||
new (NodeAllocator) ShuffleVectorSDNode(VT, dl.getIROrder(), dl.getDebugLoc(), N1, N2, MaskAlloc);
|
||||
new (NodeAllocator) ShuffleVectorSDNode(VT, dl.getIROrder(),
|
||||
dl.getDebugLoc(), N1, N2,
|
||||
MaskAlloc);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -1396,8 +1398,9 @@ SDValue SelectionDAG::getConvertRndSat(EVT VT, SDLoc dl,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
CvtRndSatSDNode *N = new (NodeAllocator) CvtRndSatSDNode(VT, dl.getIROrder(), dl.getDebugLoc(), Ops, 5,
|
||||
Code);
|
||||
CvtRndSatSDNode *N = new (NodeAllocator) CvtRndSatSDNode(VT, dl.getIROrder(),
|
||||
dl.getDebugLoc(),
|
||||
Ops, 5, Code);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -1440,7 +1443,8 @@ SDValue SelectionDAG::getEHLabel(SDLoc dl, SDValue Root, MCSymbol *Label) {
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
SDNode *N = new (NodeAllocator) EHLabelSDNode(dl.getIROrder(), dl.getDebugLoc(), Root, Label);
|
||||
SDNode *N = new (NodeAllocator) EHLabelSDNode(dl.getIROrder(),
|
||||
dl.getDebugLoc(), Root, Label);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -2148,7 +2152,8 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, unsigned Depth) const{
|
||||
}
|
||||
|
||||
case ISD::SIGN_EXTEND:
|
||||
Tmp = VTBits-Op.getOperand(0).getValueType().getScalarType().getSizeInBits();
|
||||
Tmp =
|
||||
VTBits-Op.getOperand(0).getValueType().getScalarType().getSizeInBits();
|
||||
return ComputeNumSignBits(Op.getOperand(0), Depth+1) + Tmp;
|
||||
|
||||
case ISD::SIGN_EXTEND_INREG:
|
||||
@ -2409,7 +2414,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT) {
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
SDNode *N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), getVTList(VT));
|
||||
SDNode *N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), getVTList(VT));
|
||||
CSEMap.InsertNode(N, IP);
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -2670,10 +2676,12 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, Operand);
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, Operand);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, Operand);
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, Operand);
|
||||
}
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -3071,7 +3079,8 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1,
|
||||
if (VT.isSimple() && N1.getValueType().isSimple()) {
|
||||
assert(VT.isVector() && N1.getValueType().isVector() &&
|
||||
"Extract subvector VTs must be a vectors!");
|
||||
assert(VT.getVectorElementType() == N1.getValueType().getVectorElementType() &&
|
||||
assert(VT.getVectorElementType() ==
|
||||
N1.getValueType().getVectorElementType() &&
|
||||
"Extract subvector VTs must have the same element type!");
|
||||
assert(VT.getSimpleVT() <= N1.getSimpleValueType() &&
|
||||
"Extract subvector must be from larger vector to smaller vector!");
|
||||
@ -3242,10 +3251,12 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT, SDValue N1,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2);
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, N1, N2);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2);
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, N1, N2);
|
||||
}
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -3347,10 +3358,12 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2, N3);
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, N1, N2, N3);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, N1, N2, N3);
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs, N1, N2, N3);
|
||||
}
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -4125,9 +4138,10 @@ SDValue SelectionDAG::getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT,
|
||||
cast<AtomicSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(), dl.getDebugLoc(), VTs, MemVT, Chain,
|
||||
Ptr, Cmp, Swp, MMO, Ordering,
|
||||
SynchScope);
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs, MemVT,
|
||||
Chain, Ptr, Cmp, Swp, MMO,
|
||||
Ordering, SynchScope);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4198,8 +4212,9 @@ SDValue SelectionDAG::getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT,
|
||||
cast<AtomicSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(), dl.getDebugLoc(), VTs, MemVT, Chain,
|
||||
Ptr, Val, MMO,
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs, MemVT,
|
||||
Chain, Ptr, Val, MMO,
|
||||
Ordering, SynchScope);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
@ -4256,8 +4271,10 @@ SDValue SelectionDAG::getAtomic(unsigned Opcode, SDLoc dl, EVT MemVT,
|
||||
cast<AtomicSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(), dl.getDebugLoc(), VTs, MemVT, Chain,
|
||||
Ptr, MMO, Ordering, SynchScope);
|
||||
SDNode *N = new (NodeAllocator) AtomicSDNode(Opcode, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs, MemVT,
|
||||
Chain, Ptr, MMO, Ordering,
|
||||
SynchScope);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4337,12 +4354,14 @@ SelectionDAG::getMemIntrinsicNode(unsigned Opcode, SDLoc dl, SDVTList VTList,
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
|
||||
N = new (NodeAllocator) MemIntrinsicSDNode(Opcode, dl.getIROrder(), dl.getDebugLoc(), VTList, Ops, NumOps,
|
||||
MemVT, MMO);
|
||||
N = new (NodeAllocator) MemIntrinsicSDNode(Opcode, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTList, Ops,
|
||||
NumOps, MemVT, MMO);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) MemIntrinsicSDNode(Opcode, dl.getIROrder(), dl.getDebugLoc(), VTList, Ops, NumOps,
|
||||
MemVT, MMO);
|
||||
N = new (NodeAllocator) MemIntrinsicSDNode(Opcode, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTList, Ops,
|
||||
NumOps, MemVT, MMO);
|
||||
}
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4456,7 +4475,8 @@ SelectionDAG::getLoad(ISD::MemIndexedMode AM, ISD::LoadExtType ExtType,
|
||||
cast<LoadSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) LoadSDNode(Ops, dl.getIROrder(), dl.getDebugLoc(), VTs, AM, ExtType,
|
||||
SDNode *N = new (NodeAllocator) LoadSDNode(Ops, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs, AM, ExtType,
|
||||
MemVT, MMO);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
@ -4546,8 +4566,9 @@ SDValue SelectionDAG::getStore(SDValue Chain, SDLoc dl, SDValue Val,
|
||||
cast<StoreSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), dl.getDebugLoc(), VTs, ISD::UNINDEXED,
|
||||
false, VT, MMO);
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs,
|
||||
ISD::UNINDEXED, false, VT, MMO);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4614,8 +4635,9 @@ SDValue SelectionDAG::getTruncStore(SDValue Chain, SDLoc dl, SDValue Val,
|
||||
cast<StoreSDNode>(E)->refineAlignment(MMO);
|
||||
return SDValue(E, 0);
|
||||
}
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), dl.getDebugLoc(), VTs, ISD::UNINDEXED,
|
||||
true, SVT, MMO);
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs,
|
||||
ISD::UNINDEXED, true, SVT, MMO);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
AllNodes.push_back(N);
|
||||
return SDValue(N, 0);
|
||||
@ -4638,7 +4660,8 @@ SelectionDAG::getIndexedStore(SDValue OrigStore, SDLoc dl, SDValue Base,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(), dl.getDebugLoc(), VTs, AM,
|
||||
SDNode *N = new (NodeAllocator) StoreSDNode(Ops, dl.getIROrder(),
|
||||
dl.getDebugLoc(), VTs, AM,
|
||||
ST->isTruncatingStore(),
|
||||
ST->getMemoryVT(),
|
||||
ST->getMemOperand());
|
||||
@ -4713,10 +4736,12 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, EVT VT,
|
||||
if (SDNode *E = CSEMap.FindNodeOrInsertPos(ID, IP))
|
||||
return SDValue(E, 0);
|
||||
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, Ops, NumOps);
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTs, Ops, NumOps);
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs, Ops, NumOps);
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTs, Ops, NumOps);
|
||||
}
|
||||
|
||||
AllNodes.push_back(N);
|
||||
@ -4779,26 +4804,36 @@ SDValue SelectionDAG::getNode(unsigned Opcode, SDLoc DL, SDVTList VTList,
|
||||
return SDValue(E, 0);
|
||||
|
||||
if (NumOps == 1) {
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0]);
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0]);
|
||||
} else if (NumOps == 2) {
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0], Ops[1]);
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0],
|
||||
Ops[1]);
|
||||
} else if (NumOps == 3) {
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0], Ops[1],
|
||||
Ops[2]);
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0],
|
||||
Ops[1], Ops[2]);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops, NumOps);
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTList, Ops, NumOps);
|
||||
}
|
||||
CSEMap.InsertNode(N, IP);
|
||||
} else {
|
||||
if (NumOps == 1) {
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0]);
|
||||
N = new (NodeAllocator) UnarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0]);
|
||||
} else if (NumOps == 2) {
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0], Ops[1]);
|
||||
N = new (NodeAllocator) BinarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0],
|
||||
Ops[1]);
|
||||
} else if (NumOps == 3) {
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops[0], Ops[1],
|
||||
Ops[2]);
|
||||
N = new (NodeAllocator) TernarySDNode(Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTList, Ops[0],
|
||||
Ops[1], Ops[2]);
|
||||
} else {
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(), VTList, Ops, NumOps);
|
||||
N = new (NodeAllocator) SDNode(Opcode, DL.getIROrder(), DL.getDebugLoc(),
|
||||
VTList, Ops, NumOps);
|
||||
}
|
||||
}
|
||||
AllNodes.push_back(N);
|
||||
@ -5408,7 +5443,8 @@ SelectionDAG::getMachineNode(unsigned Opcode, SDLoc DL, SDVTList VTs,
|
||||
}
|
||||
|
||||
// Allocate a new MachineSDNode.
|
||||
N = new (NodeAllocator) MachineSDNode(~Opcode, DL.getIROrder(), DL.getDebugLoc(), VTs);
|
||||
N = new (NodeAllocator) MachineSDNode(~Opcode, DL.getIROrder(),
|
||||
DL.getDebugLoc(), VTs);
|
||||
|
||||
// Initialize the operands list.
|
||||
if (NumOps > array_lengthof(N->LocalOperands))
|
||||
@ -6160,8 +6196,8 @@ SDValue SelectionDAG::UnrollVectorOp(SDNode *N, unsigned ResNE) {
|
||||
case ISD::ROTL:
|
||||
case ISD::ROTR:
|
||||
Scalars.push_back(getNode(N->getOpcode(), dl, EltVT, Operands[0],
|
||||
getShiftAmountOperand(Operands[0].getValueType(),
|
||||
Operands[1])));
|
||||
getShiftAmountOperand(Operands[0].getValueType(),
|
||||
Operands[1])));
|
||||
break;
|
||||
case ISD::SIGN_EXTEND_INREG:
|
||||
case ISD::FP_ROUND_INREG: {
|
||||
|
Loading…
x
Reference in New Issue
Block a user