Lines Matching refs:ClassInfo

154 struct ClassInfo {  struct
178 std::vector<ClassInfo*> SuperClasses; argument
232 bool isRelatedTo(const ClassInfo &RHS) const { in isRelatedTo() argument
258 const ClassInfo *Root = this; in isRelatedTo()
262 const ClassInfo *RHSRoot = &RHS; in isRelatedTo()
270 bool isSubsetOf(const ClassInfo &RHS) const { in isSubsetOf() argument
276 SmallVector<const ClassInfo *, 16> Worklist(SuperClasses.begin(), in isSubsetOf()
278 SmallPtrSet<const ClassInfo *, 16> Visited; in isSubsetOf()
293 const ClassInfo *Root = this; in getTreeDepth()
301 const ClassInfo *findRoot() const { in findRoot() argument
302 const ClassInfo *Root = this; in findRoot()
311 bool operator<(const ClassInfo &RHS) const { in operator <() argument
385 ClassInfo *Class;
667 AsmOperands[i].Class->Kind == ClassInfo::Token) in couldMatchAmbiguouslyWith()
697 ClassInfo *CI;
699 static OperandMatchEntry create(const MatchableInfo *mi, ClassInfo *ci, in create()
721 std::forward_list<ClassInfo> Classes;
730 typedef std::map<Record*, ClassInfo*, LessRecordByID> RegisterClassesTy;
737 std::map<Record*, ClassInfo*> AsmOperandClasses;
740 std::map<Record*, ClassInfo*> RegisterClassClasses;
744 std::map<std::string, ClassInfo*> TokenClasses;
748 ClassInfo *getTokenClass(StringRef Token);
751 ClassInfo *getOperandClass(const CGIOperandList::OperandInfo &OI,
753 ClassInfo *getOperandClass(Record *Rec, int SubOpIdx);
793 return find_if(Classes, [](const ClassInfo &Class) { in hasOptionalOperands()
1126 ClassInfo *AsmMatcherInfo::getTokenClass(StringRef Token) { in getTokenClass()
1127 ClassInfo *&Entry = TokenClasses[Token]; in getTokenClass()
1132 Entry->Kind = ClassInfo::Token; in getTokenClass()
1147 ClassInfo *
1156 ClassInfo *
1168 if (ClassInfo *CI = AsmOperandClasses[MatchClass]) in getOperandClass()
1177 if (ClassInfo *CI = RegisterClassClasses[ClassRec]) in getOperandClass()
1183 if (ClassInfo *CI = RegisterClassClasses[Rec]) in getOperandClass()
1192 if (ClassInfo *CI = AsmOperandClasses[MatchClass]) in getOperandClass()
1262 std::map<RegisterSet, ClassInfo*, LessRegisterSet> RegisterSetClasses; in buildRegisterClasses()
1266 ClassInfo *CI = &Classes.front(); in buildRegisterClasses()
1267 CI->Kind = ClassInfo::RegisterClass0 + Index; in buildRegisterClasses()
1285 ClassInfo *CI = RegisterSetClasses[RS]; in buildRegisterClasses()
1299 ClassInfo *CI = RegisterSetClasses[RegisterSet(RC.getOrder().begin(), in buildRegisterClasses()
1331 ClassInfo *CI = RegisterClasses[Rec]; in buildRegisterClasses()
1355 ClassInfo *CI = AsmOperandClasses[Rec]; in buildOperandClasses()
1356 CI->Kind = ClassInfo::UserClass0 + Index; in buildOperandClasses()
1366 ClassInfo *SC = AsmOperandClasses[DI->getDef()]; in buildOperandClasses()
1440 typedef std::map<ClassInfo *, unsigned, less_ptr<ClassInfo>> OpClassMaskTy; in buildOperandMatchInfo()
1459 ClassInfo *CI = OCM.first; in buildOperandMatchInfo()
1643 ClassInfo *FromClass = getTokenClass(Rec->getValueAsString("FromToken")); in buildInfo()
1644 ClassInfo *ToClass = getTokenClass(Rec->getValueAsString("ToToken")); in buildInfo()
2344 std::forward_list<ClassInfo> &Infos, in emitMatchClassEnumeration()
2353 ClassInfo::ClassInfoKind LastKind = ClassInfo::Token; in emitMatchClassEnumeration()
2356 if (LastKind == ClassInfo::Token && CI.Kind != ClassInfo::Token) { in emitMatchClassEnumeration()
2358 } else if (LastKind < ClassInfo::UserClass0 && in emitMatchClassEnumeration()
2359 CI.Kind >= ClassInfo::UserClass0) { in emitMatchClassEnumeration()
2362 LastKind = (ClassInfo::ClassInfoKind)CI.Kind; in emitMatchClassEnumeration()
2366 if (CI.Kind == ClassInfo::Token) { in emitMatchClassEnumeration()
2390 [](const ClassInfo &CI) { return CI.DiagnosticString.empty(); })) in emitOperandMatchErrorDiagStrings()
2418 if (none_of(Info.Classes, [](const ClassInfo &CI) { in emitRegisterMatchErrorFunc()
2511 std::forward_list<ClassInfo> &Infos, in emitIsSubclass()
2571 std::forward_list<ClassInfo> &Infos, in emitMatchTokenString()
2576 if (CI.Kind == ClassInfo::Token) in emitMatchTokenString()
3087 static void emitMatchClassKindNames(std::forward_list<ClassInfo> &Infos, in emitMatchClassKindNames()