Lines Matching refs:SDNode
46 class SDNode; variable
54 void checkForCycles(const SDNode *N, const SelectionDAG *DAG = nullptr,
71 bool isConstantSplatVector(const SDNode *N, APInt &SplatValue);
75 bool isBuildVectorAllOnes(const SDNode *N);
79 bool isBuildVectorAllZeros(const SDNode *N);
83 bool isBuildVectorOfConstantSDNodes(const SDNode *N);
87 bool isBuildVectorOfConstantFPSDNodes(const SDNode *N);
91 bool allOperandsUndef(const SDNode *N);
108 SDNode *Node; // The node defining the value we are using.
112 SDValue(SDNode *node, unsigned resno);
118 SDNode *getNode() const { return Node; }
121 void setNode(SDNode *N) { Node = N; }
123 inline SDNode *operator->() const { return Node; }
143 bool isOperandOf(const SDNode *N) const;
217 typedef SDNode* SimpleType;
223 typedef /*const*/ SDNode* SimpleType;
238 SDNode *User;
257 SDNode *getUser() { return User; }
263 SDNode *getNode() const { return Val.getNode(); }
286 friend class SDNode;
290 void setUser(SDNode *p) { User = p; }
300 inline void setNode(SDNode *N);
318 typedef SDNode* SimpleType;
398 class SDNode : public FoldingSetNode, public ilist_node<SDNode> {
444 friend struct ilist_traits<SDNode>;
543 friend class SDNode;
575 SDNode *operator*() const {
580 SDNode *operator->() const { return operator*(); }
614 bool isOnlyUserOf(const SDNode *N) const;
617 bool isOperandOf(const SDNode *N) const;
622 bool isPredecessorOf(const SDNode *N) const {
630 bool hasPredecessor(const SDNode *N) const;
638 static bool hasPredecessorHelper(const SDNode *N,
639 SmallPtrSetImpl<const SDNode *> &Visited,
640 SmallVectorImpl<const SDNode *> &Worklist) {
644 const SDNode *M = Worklist.pop_back_val();
647 SDNode *Op = OpV.getNode();
699 SDNode *getGluedNode() const {
708 SDNode *getGluedUser() const {
817 SDNode(unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs)
847 SDLoc(const SDNode *N) : DL(N->getDebugLoc()), IROrder(N->getIROrder()) {}
861 inline SDValue::SDValue(SDNode *node, unsigned resno)
926 inline void SDUse::setNode(SDNode *N) {
956 class BinaryWithFlagsSDNode : public SDNode {
961 : SDNode(Opc, Order, dl, VTs), Flags(NodeFlags) {}
962 static bool classof(const SDNode *N) {
971 class HandleSDNode : public SDNode {
975 : SDNode(ISD::HANDLENODE, 0, DebugLoc(), getSDVTList(MVT::Other)) {
993 class AddrSpaceCastSDNode : public SDNode {
1005 static bool classof(const SDNode *N) {
1011 class MemSDNode : public SDNode {
1094 static bool classof(const SDNode *N) {
1180 static bool classof(const SDNode *N) {
1212 static bool classof(const SDNode *N) {
1229 class ShuffleVectorSDNode : public SDNode {
1236 : SDNode(ISD::VECTOR_SHUFFLE, Order, dl, getSDVTList(VT)), Mask(M) {}
1275 static bool classof(const SDNode *N) {
1280 class ConstantSDNode : public SDNode {
1285 : SDNode(isTarget ? ISD::TargetConstant : ISD::Constant, 0, DL,
1303 static bool classof(const SDNode *N) {
1309 class ConstantFPSDNode : public SDNode {
1314 : SDNode(isTarget ? ISD::TargetConstantFP : ISD::ConstantFP, 0, DL,
1354 static bool classof(const SDNode *N) {
1372 class GlobalAddressSDNode : public SDNode {
1389 static bool classof(const SDNode *N) {
1397 class FrameIndexSDNode : public SDNode {
1401 : SDNode(isTarg ? ISD::TargetFrameIndex : ISD::FrameIndex,
1408 static bool classof(const SDNode *N) {
1414 class JumpTableSDNode : public SDNode {
1419 : SDNode(isTarg ? ISD::TargetJumpTable : ISD::JumpTable,
1427 static bool classof(const SDNode *N) {
1433 class ConstantPoolSDNode : public SDNode {
1444 : SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
1452 : SDNode(isTarget ? ISD::TargetConstantPool : ISD::ConstantPool, 0,
1486 static bool classof(const SDNode *N) {
1493 class TargetIndexSDNode : public SDNode {
1501 : SDNode(ISD::TargetIndex, 0, DebugLoc(), getSDVTList(VT)),
1509 static bool classof(const SDNode *N) {
1514 class BasicBlockSDNode : public SDNode {
1521 : SDNode(ISD::BasicBlock, 0, DebugLoc(), getSDVTList(MVT::Other)), MBB(mbb)
1527 static bool classof(const SDNode *N) {
1533 class BuildVectorSDNode : public SDNode {
1583 static inline bool classof(const SDNode *N) {
1592 class SrcValueSDNode : public SDNode {
1597 : SDNode(ISD::SRCVALUE, 0, DebugLoc(), getSDVTList(MVT::Other)), V(v) {}
1603 static bool classof(const SDNode *N) {
1608 class MDNodeSDNode : public SDNode {
1612 : SDNode(ISD::MDNODE_SDNODE, 0, DebugLoc(), getSDVTList(MVT::Other)), MD(md)
1618 static bool classof(const SDNode *N) {
1623 class RegisterSDNode : public SDNode {
1627 : SDNode(ISD::Register, 0, DebugLoc(), getSDVTList(VT)), Reg(reg) {
1633 static bool classof(const SDNode *N) {
1638 class RegisterMaskSDNode : public SDNode {
1643 : SDNode(ISD::RegisterMask, 0, DebugLoc(), getSDVTList(MVT::Untyped)),
1649 static bool classof(const SDNode *N) {
1654 class BlockAddressSDNode : public SDNode {
1661 : SDNode(NodeTy, 0, DebugLoc(), getSDVTList(VT)),
1669 static bool classof(const SDNode *N) {
1675 class EHLabelSDNode : public SDNode {
1679 : SDNode(ISD::EH_LABEL, Order, dl, getSDVTList(MVT::Other)), Label(L) {}
1684 static bool classof(const SDNode *N) {
1689 class ExternalSymbolSDNode : public SDNode {
1695 : SDNode(isTarget ? ISD::TargetExternalSymbol : ISD::ExternalSymbol,
1703 static bool classof(const SDNode *N) {
1709 class MCSymbolSDNode : public SDNode {
1714 : SDNode(ISD::MCSymbol, 0, DebugLoc(), getSDVTList(VT)), Symbol(Symbol) {}
1719 static bool classof(const SDNode *N) {
1724 class CondCodeSDNode : public SDNode {
1728 : SDNode(ISD::CONDCODE, 0, DebugLoc(), getSDVTList(MVT::Other)),
1735 static bool classof(const SDNode *N) {
1742 class CvtRndSatSDNode : public SDNode {
1747 : SDNode(ISD::CONVERT_RNDSAT, Order, dl, getSDVTList(VT)), CvtCode(Code) {
1753 static bool classof(const SDNode *N) {
1760 class VTSDNode : public SDNode {
1764 : SDNode(ISD::VALUETYPE, 0, DebugLoc(), getSDVTList(MVT::Other)),
1771 static bool classof(const SDNode *N) {
1803 static bool classof(const SDNode *N) {
1832 static bool classof(const SDNode *N) {
1860 static bool classof(const SDNode *N) {
1881 static bool classof(const SDNode *N) {
1901 static bool classof(const SDNode *N) {
1923 static bool classof(const SDNode *N) {
1948 static bool classof(const SDNode *N) {
1963 static bool classof(const SDNode *N) {
1978 static bool classof(const SDNode *N) {
1986 class MachineSDNode : public SDNode {
1993 : SDNode(Opc, Order, DL, VTs), MemRefs(nullptr), MemRefsEnd(nullptr) {}
2013 static bool classof(const SDNode *N) {
2019 SDNode, ptrdiff_t> {
2020 const SDNode *Node;
2023 SDNodeIterator(const SDNode *N, unsigned Op) : Node(N), Operand(Op) {}
2048 static SDNodeIterator begin(const SDNode *N) { return SDNodeIterator(N, 0); }
2049 static SDNodeIterator end (const SDNode *N) {
2054 const SDNode *getNode() const { return Node; }
2057 template <> struct GraphTraits<SDNode*> {
2058 typedef SDNode NodeType;
2060 static inline NodeType *getEntryNode(SDNode *N) { return N; }
2082 inline bool isNormalLoad(const SDNode *N) {
2089 inline bool isNON_EXTLoad(const SDNode *N) {
2095 inline bool isEXTLoad(const SDNode *N) {
2101 inline bool isSEXTLoad(const SDNode *N) {
2107 inline bool isZEXTLoad(const SDNode *N) {
2113 inline bool isUNINDEXEDLoad(const SDNode *N) {
2120 inline bool isNormalStore(const SDNode *N) {
2127 inline bool isNON_TRUNCStore(const SDNode *N) {
2132 inline bool isTRUNCStore(const SDNode *N) {
2137 inline bool isUNINDEXEDStore(const SDNode *N) {