Home | History | Annotate | Download | only in TableGen

Lines Matching full:record

109 #include "llvm/TableGen/Record.h"
136 typedef std::set<Record*, LessRecordByID> RegisterSet;
170 /// sake user operands only record their immediate super class, while register
324 /// Register record if this token is singleton register.
325 Record *SingletonReg;
367 /// Register - This is the register record.
368 Record *Register;
399 static ResOperand getRegOp(Record *Reg) {
417 Record *const TheDef;
493 SmallPtrSetImpl<Record*> &SingletonRegisters,
604 /// \brief The predicate record for this feature.
605 Record *TheDef;
610 SubtargetFeatureInfo(Record *D, uint64_t Idx) : TheDef(D), Index(Idx) {}
644 /// The tablegen AsmParser record.
645 Record *AsmParser;
660 typedef std::map<Record*, ClassInfo*, LessRecordByID> RegisterClassesTy;
664 std::map<Record *, SubtargetFeatureInfo, LessRecordByID> SubtargetFeatures;
667 std::map<Record*, ClassInfo*> AsmOperandClasses;
674 std::map<Record*, ClassInfo*> RegisterClassClasses;
683 ClassInfo *getOperandClass(Record *Rec, int SubOpIdx);
687 void buildRegisterClasses(SmallPtrSetImpl<Record*> &SingletonRegisters);
699 AsmMatcherInfo(Record *AsmParser,
712 const SubtargetFeatureInfo *getSubtargetFeature(Record *Def) const {
840 SmallPtrSetImpl<Record*> &SingletonRegisters,
850 for (Record *Predicate : TheDef->getValueAsListOfDefs("Predicates"))
858 if (Record *Reg = Op.SingletonReg)
1069 Record *Rec = OI.Rec;
1076 AsmMatcherInfo::getOperandClass(Record *Rec, int SubOpIdx) {
1082 PrintFatalError("Record `" + Rec->getName() +
1086 Record *MatchClass = DI->getDef();
1092 Record *ClassRec = Rec->getValueAsDef("RegClass");
1111 Record *MatchClass = Rec->getValueAsDef("ParserMatchClass");
1131 buildRegisterClasses(SmallPtrSetImpl<Record*> &SingletonRegisters) {
1146 for (Record *Rec : SingletonRegisters) {
1153 std::map<Record*, RegisterSet> RegisterMap;
1214 Record *Def = RC.getDef();
1230 for (std::map<Record*, RegisterSet>::iterator it = RegisterMap.begin(),
1235 for (Record *Rec : SingletonRegisters) {
1249 std::vector<Record*> AsmOperands =
1253 for (Record *Rec : AsmOperands) {
1259 for (Record *Rec : AsmOperands) {
1314 AsmMatcherInfo::AsmMatcherInfo(Record *asmParser,
1354 std::vector<Record*> AllPredicates =
1357 Record *Pred = AllPredicates[i];
1373 SmallPtrSet<Record*, 16> SingletonRegisters;
1376 Record *AsmVariant = Target.getAsmParserVariant(VC);
1415 std::vector<Record*> AllInstAliases =
1458 if (Record *RegRecord = II->AsmOperands[i].SingletonReg) {
1516 std::vector<Record*> AllTokenAliases =
1519 Record *Rec = AllTokenAliases[i];
1552 Record *Rec = Operands[Idx].Rec;
1554 Record *MatchClass = Rec->getValueAsDef("ParserMatchClass");
1607 // validates that all operands with the same name have the same record.
1715 Record *Reg = CGA.ResultOperands[AliasOpNo].getRegister();
2196 Record *AsmParser,
2255 for (std::map<Record*, ClassInfo*>::const_iterator
2343 static std::string GetAliasRequiredFeatures(Record *R,
2345 std::vector<Record*> ReqFeatures = R->getValueAsListOfDefs("Predicates");
2368 std::vector<Record*> &Aliases,
2373 std::map<std::string, std::vector<Record*> > AliasesFromMnemonic;
2376 Record *R = Aliases[i];
2389 for (std::map<std::string, std::vector<Record*> >::iterator
2392 const std::vector<Record*> &ToVec = I->second;
2401 Record *R = ToVec[i];
2427 Record *R = ToVec[AliasWithNoPredicate];
2448 std::vector<Record*> Aliases =
2457 Record *AsmVariant = Target.getAsmParserVariant(VC);
2647 Record *AsmParser = Target.getAsmParser();
2851 Record *AsmVariant = Target.getAsmParserVariant(VC);
2898 Record *AsmVariant = Target.getAsmParserVariant(VC);
2953 Record *AsmVariant = Target.getAsmParserVariant(VC);