Lines Matching refs:ClassInfo
156 struct ClassInfo { struct
180 std::vector<ClassInfo *> SuperClasses; argument
234 bool isRelatedTo(const ClassInfo &RHS) const { in isRelatedTo() argument
259 const ClassInfo *Root = this; in isRelatedTo()
263 const ClassInfo *RHSRoot = &RHS; in isRelatedTo()
271 bool isSubsetOf(const ClassInfo &RHS) const { in isSubsetOf() argument
277 SmallVector<const ClassInfo *, 16> Worklist(SuperClasses.begin(), in isSubsetOf()
279 SmallPtrSet<const ClassInfo *, 16> Visited; in isSubsetOf()
294 const ClassInfo *Root = this; in getTreeDepth()
302 const ClassInfo *findRoot() const { in findRoot() argument
303 const ClassInfo *Root = this; in findRoot()
312 bool operator<(const ClassInfo &RHS) const { in operator <() argument
390 ClassInfo *Class;
697 AsmOperands[i].Class->Kind == ClassInfo::Token) in couldMatchAmbiguouslyWith()
727 ClassInfo *CI;
729 static OperandMatchEntry create(const MatchableInfo *mi, ClassInfo *ci, in create()
751 std::forward_list<ClassInfo> Classes;
760 typedef std::map<Record *, ClassInfo *, LessRecordByID> RegisterClassesTy;
767 std::map<Record *, ClassInfo *> AsmOperandClasses;
770 std::map<Record *, ClassInfo *> RegisterClassClasses;
774 std::map<std::string, ClassInfo *> TokenClasses;
778 ClassInfo *getTokenClass(StringRef Token);
781 ClassInfo *getOperandClass(const CGIOperandList::OperandInfo &OI,
783 ClassInfo *getOperandClass(Record *Rec, int SubOpIdx);
821 [](const ClassInfo &Class) { return Class.IsOptional; }); in hasOptionalOperands()
1170 ClassInfo *AsmMatcherInfo::getTokenClass(StringRef Token) { in getTokenClass()
1171 ClassInfo *&Entry = TokenClasses[std::string(Token)]; in getTokenClass()
1176 Entry->Kind = ClassInfo::Token; in getTokenClass()
1191 ClassInfo *
1200 ClassInfo *AsmMatcherInfo::getOperandClass(Record *Rec, int SubOpIdx) { in getOperandClass()
1212 if (ClassInfo *CI = AsmOperandClasses[MatchClass]) in getOperandClass()
1222 if (ClassInfo *CI = RegisterClassClasses[ClassRec]) in getOperandClass()
1228 if (ClassInfo *CI = RegisterClassClasses[Rec]) in getOperandClass()
1238 if (ClassInfo *CI = AsmOperandClasses[MatchClass]) in getOperandClass()
1306 std::map<RegisterSet, ClassInfo *, LessRegisterSet> RegisterSetClasses; in buildRegisterClasses()
1310 ClassInfo *CI = &Classes.front(); in buildRegisterClasses()
1311 CI->Kind = ClassInfo::RegisterClass0 + Index; in buildRegisterClasses()
1329 ClassInfo *CI = RegisterSetClasses[RS]; in buildRegisterClasses()
1342 ClassInfo *CI = RegisterSetClasses[RegisterSet(RC.getOrder().begin(), in buildRegisterClasses()
1373 ClassInfo *CI = RegisterClasses[Rec]; in buildRegisterClasses()
1397 ClassInfo *CI = AsmOperandClasses[Rec]; in buildOperandClasses()
1398 CI->Kind = ClassInfo::UserClass0 + Index; in buildOperandClasses()
1408 ClassInfo *SC = AsmOperandClasses[DI->getDef()]; in buildOperandClasses()
1480 typedef std::map<ClassInfo *, unsigned, deref<std::less<>>> OpClassMaskTy; in buildOperandMatchInfo()
1505 ClassInfo *CI = OCM.first; in buildOperandMatchInfo()
1686 ClassInfo *FromClass = getTokenClass(Rec->getValueAsString("FromToken")); in buildInfo()
1687 ClassInfo *ToClass = getTokenClass(Rec->getValueAsString("ToToken")); in buildInfo()
2380 std::forward_list<ClassInfo> &Infos, in emitMatchClassEnumeration()
2389 ClassInfo::ClassInfoKind LastKind = ClassInfo::Token; in emitMatchClassEnumeration()
2392 if (LastKind == ClassInfo::Token && CI.Kind != ClassInfo::Token) { in emitMatchClassEnumeration()
2394 } else if (LastKind < ClassInfo::UserClass0 && in emitMatchClassEnumeration()
2395 CI.Kind >= ClassInfo::UserClass0) { in emitMatchClassEnumeration()
2398 LastKind = (ClassInfo::ClassInfoKind)CI.Kind; in emitMatchClassEnumeration()
2402 if (CI.Kind == ClassInfo::Token) { in emitMatchClassEnumeration()
2425 if (llvm::all_of(Info.Classes, [](const ClassInfo &CI) { in emitOperandMatchErrorDiagStrings()
2455 if (none_of(Info.Classes, [](const ClassInfo &CI) { in emitRegisterMatchErrorFunc()
2546 std::forward_list<ClassInfo> &Infos, in emitIsSubclass()
2606 std::forward_list<ClassInfo> &Infos, in emitMatchTokenString()
2611 if (CI.Kind == ClassInfo::Token) in emitMatchTokenString()
3207 static void emitMatchClassKindNames(std::forward_list<ClassInfo> &Infos, in emitMatchClassKindNames()