Lines Matching refs:SDNode
46 class SDNode; variable
54 void checkForCycles(const SDNode *N, const SelectionDAG *DAG = nullptr,
71 bool isBuildVectorAllOnes(const SDNode *N);
75 bool isBuildVectorAllZeros(const SDNode *N);
79 bool isBuildVectorOfConstantSDNodes(const SDNode *N);
83 bool isBuildVectorOfConstantFPSDNodes(const SDNode *N);
87 bool allOperandsUndef(const SDNode *N);
104 SDNode *Node; // The node defining the value we are using.
108 SDValue(SDNode *node, unsigned resno);
114 SDNode *getNode() const { return Node; }
117 void setNode(SDNode *N) { Node = N; }
119 inline SDNode *operator->() const { return Node; }
139 bool isOperandOf(const SDNode *N) const;
213 typedef SDNode* SimpleType;
219 typedef /*const*/ SDNode* SimpleType;
234 SDNode *User;
253 SDNode *getUser() { return User; }
259 SDNode *getNode() const { return Val.getNode(); }
282 friend class SDNode;
284 void setUser(SDNode *p) { User = p; }
294 inline void setNode(SDNode *N);
312 typedef SDNode* SimpleType;
376 class SDNode : public FoldingSetNode, public ilist_node<SDNode> {
426 friend struct ilist_traits<SDNode>;
523 friend class SDNode;
555 SDNode *operator*() const {
560 SDNode *operator->() const { return operator*(); }
594 bool isOnlyUserOf(const SDNode *N) const;
597 bool isOperandOf(const SDNode *N) const;
602 bool isPredecessorOf(const SDNode *N) const {
610 bool hasPredecessor(const SDNode *N) const;
621 bool hasPredecessorHelper(const SDNode *N,
622 SmallPtrSetImpl<const SDNode *> &Visited,
623 SmallVectorImpl<const SDNode *> &Worklist) const;
665 SDNode *getGluedNode() const {
674 SDNode *getGluedUser() const {
776 SDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs,
798 SDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs)
893 SDLoc(const SDNode *N) : Ptr(N), IROrder(-1) {
906 const SDNode *N = (const SDNode*)(Ptr);
917 const SDNode *N = (const SDNode*)(Ptr);
925 inline SDValue::SDValue(SDNode *node, unsigned resno)
990 inline void SDUse::setNode(SDNode *N) {
998 class UnarySDNode : public SDNode {
1003 : SDNode(Opc, Order, dl, VTs) {
1010 class BinarySDNode : public SDNode {
1015 : SDNode(Opc, Order, dl, VTs) {
1050 static bool classof(const SDNode *N) {
1057 class TernarySDNode : public SDNode {
1062 : SDNode(Opc, Order, dl, VTs) {
1072 class HandleSDNode : public SDNode {
1076 : SDNode(ISD::HANDLENODE, 0, DebugLoc(), getSDVTList(MVT::Other)) {
1098 static bool classof(const SDNode *N) {
1104 class MemSDNode : public SDNode {
1190 static bool classof(const SDNode *N) {
1314 static bool classof(const SDNode *N) {
1347 static bool classof(const SDNode *N) {
1364 class ShuffleVectorSDNode : public SDNode {
1374 : SDNode(ISD::VECTOR_SHUFFLE, Order, dl, getSDVTList(VT)), Mask(M) {
1415 static bool classof(const SDNode *N) {
1420 class ConstantSDNode : public SDNode {
1425 : SDNode(isTarget ? ISD::TargetConstant : ISD::Constant,
1442 static bool classof(const SDNode *N) {
1448 class ConstantFPSDNode : public SDNode {
1452 : SDNode(isTarget ? ISD::TargetConstantFP : ISD::ConstantFP,
1491 static bool classof(const SDNode *N) {
1506 class GlobalAddressSDNode : public SDNode {
1522 static bool classof(const SDNode *N) {
1530 class FrameIndexSDNode : public SDNode {
1534 : SDNode(isTarg ? ISD::TargetFrameIndex : ISD::FrameIndex,
1541 static bool classof(const SDNode *N) {
1547 class JumpTableSDNode : public SDNode {
1552 : SDNode(isTarg ? ISD::TargetJumpTable : ISD::JumpTable,
1560 static bool classof(const SDNode *N) {
1566 class ConstantPoolSDNode : public SDNode {
1577 : SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
1585 : SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
1619 static bool classof(const SDNode *N) {
1626 class TargetIndexSDNode : public SDNode {
1634 : SDNode(ISD::TargetIndex, 0, DebugLoc(), getSDVTList(VT)),
1642 static bool classof(const SDNode *N) {
1647 class BasicBlockSDNode : public SDNode {
1654 : SDNode(ISD::BasicBlock, 0, DebugLoc(), getSDVTList(MVT::Other)), MBB(mbb)
1660 static bool classof(const SDNode *N) {
1666 class BuildVectorSDNode : public SDNode {
1716 static inline bool classof(const SDNode *N) {
1725 class SrcValueSDNode : public SDNode {
1730 : SDNode(ISD::SRCVALUE, 0, DebugLoc(), getSDVTList(MVT::Other)), V(v) {}
1736 static bool classof(const SDNode *N) {
1741 class MDNodeSDNode : public SDNode {
1745 : SDNode(ISD::MDNODE_SDNODE, 0, DebugLoc(), getSDVTList(MVT::Other)), MD(md)
1751 static bool classof(const SDNode *N) {
1756 class RegisterSDNode : public SDNode {
1760 : SDNode(ISD::Register, 0, DebugLoc(), getSDVTList(VT)), Reg(reg) {
1766 static bool classof(const SDNode *N) {
1771 class RegisterMaskSDNode : public SDNode {
1776 : SDNode(ISD::RegisterMask, 0, DebugLoc(), getSDVTList(MVT::Untyped)),
1782 static bool classof(const SDNode *N) {
1787 class BlockAddressSDNode : public SDNode {
1794 : SDNode(NodeTy, 0, DebugLoc(), getSDVTList(VT)),
1802 static bool classof(const SDNode *N) {
1808 class EHLabelSDNode : public SDNode {
1813 : SDNode(ISD::EH_LABEL, Order, dl, getSDVTList(MVT::Other)), Label(L) {
1819 static bool classof(const SDNode *N) {
1824 class ExternalSymbolSDNode : public SDNode {
1830 : SDNode(isTarget ? ISD::TargetExternalSymbol : ISD::ExternalSymbol,
1838 static bool classof(const SDNode *N) {
1844 class MCSymbolSDNode : public SDNode {
1849 : SDNode(ISD::MCSymbol, 0, DebugLoc(), getSDVTList(VT)), Symbol(Symbol) {}
1854 static bool classof(const SDNode *N) {
1859 class CondCodeSDNode : public SDNode {
1863 : SDNode(ISD::CONDCODE, 0, DebugLoc(), getSDVTList(MVT::Other)),
1870 static bool classof(const SDNode *N) {
1877 class CvtRndSatSDNode : public SDNode {
1882 : SDNode(ISD::CONVERT_RNDSAT, Order, dl, getSDVTList(VT), Ops),
1889 static bool classof(const SDNode *N) {
1896 class VTSDNode : public SDNode {
1900 : SDNode(ISD::VALUETYPE, 0, DebugLoc(), getSDVTList(MVT::Other)),
1907 static bool classof(const SDNode *N) {
1950 static bool classof(const SDNode *N) {
1979 static bool classof(const SDNode *N) {
2008 static bool classof(const SDNode *N) {
2033 static bool classof(const SDNode *N) {
2055 static bool classof(const SDNode *N) {
2079 static bool classof(const SDNode *N) {
2109 static bool classof(const SDNode *N) {
2134 static bool classof(const SDNode *N) {
2157 static bool classof(const SDNode *N) {
2165 class MachineSDNode : public SDNode {
2172 : SDNode(Opc, Order, DL, VTs), MemRefs(nullptr), MemRefsEnd(nullptr) {}
2196 static bool classof(const SDNode *N) {
2202 SDNode, ptrdiff_t> {
2203 const SDNode *Node;
2206 SDNodeIterator(const SDNode *N, unsigned Op) : Node(N), Operand(Op) {}
2231 static SDNodeIterator begin(const SDNode *N) { return SDNodeIterator(N, 0); }
2232 static SDNodeIterator end (const SDNode *N) {
2237 const SDNode *getNode() const { return Node; }
2240 template <> struct GraphTraits<SDNode*> {
2241 typedef SDNode NodeType;
2243 static inline NodeType *getEntryNode(SDNode *N) { return N; }
2260 inline bool isNormalLoad(const SDNode *N) {
2267 inline bool isNON_EXTLoad(const SDNode *N) {
2273 inline bool isEXTLoad(const SDNode *N) {
2279 inline bool isSEXTLoad(const SDNode *N) {
2285 inline bool isZEXTLoad(const SDNode *N) {
2291 inline bool isUNINDEXEDLoad(const SDNode *N) {
2298 inline bool isNormalStore(const SDNode *N) {
2305 inline bool isNON_TRUNCStore(const SDNode *N) {
2310 inline bool isTRUNCStore(const SDNode *N) {
2315 inline bool isUNINDEXEDStore(const SDNode *N) {