Lines Matching defs:NodeType
45 for (llvm::Record *T : Records.getAllDerivedDefinitions("NodeType"))
47 for (llvm::Record *Derived : Records.getAllDerivedDefinitions("NodeType"))
50 for (NodeType &N : AllTypes) {
51 llvm::sort(N.Derived, [](const NodeType *L, const NodeType *R) {
61 struct NodeType {
63 const NodeType *Base = nullptr;
64 std::vector<const NodeType *> Derived;
68 NodeType &get(llvm::StringRef Name = "Node") {
75 void visit(llvm::function_ref<void(const NodeType &)> CB,
76 const NodeType *Start = nullptr) {
80 for (const NodeType *D : Start->Derived)
100 std::deque<NodeType> AllTypes;
101 llvm::DenseMap<llvm::StringRef, NodeType *> ByName;
104 const Hierarchy::NodeType &firstConcrete(const Hierarchy::NodeType &N) {
107 const Hierarchy::NodeType &lastConcrete(const Hierarchy::NodeType &N) {
116 NodeType = "Leaf";
117 } else if (R.isSubClassOf("NodeType")) {
118 NodeType = R.getName().str();
124 std::string NodeType;
148 H.visit([&](const Hierarchy::NodeType &N) {
196 H.visit([&](const Hierarchy::NodeType &N) {
201 H.visit([&](const Hierarchy::NodeType &N) {
227 Role, Constraint.NodeType, Const);