Lines Matching refs:Record
37 // 2) For each record, filter out instructions based on the FilterClass value.
83 typedef std::map<std::string, std::vector<Record*> > InstrRelMapTy;
85 typedef std::map<std::vector<Init*>, std::vector<Record*> > RowInstrMapTy;
101 InstrMap(Record* MapRec) {
106 // this InstrMapping object/record.
132 PrintFatalError(MapRec->getLoc(), "InstrMapping record `" +
141 PrintFatalError(MapRec->getLoc(), "Record `" + MapRec->getName() +
186 // InstrMapDesc - InstrMapping record to be processed.
191 std::vector<Record*> InstrDefs;
198 std::vector<Record*> KeyInstrVec;
199 DenseMap<Record*, std::vector<Record*> > MapTable;
202 MapTableEmitter(CodeGenTarget &Target, RecordKeeper &Records, Record *IMRec):
212 bool isKeyColInstr(Record* CurInstr);
216 Record *getInstrForColumn(Record *KeyInstr, ListInit *CurValueCol);
242 for (Record *CurInstr : InstrDefs) {
264 bool MapTableEmitter::isKeyColInstr(Record* CurInstr) {
290 for (Record *CurKeyInstr : KeyInstrVec) {
291 std::vector<Record*> ColInstrVec(NumOfCols);
296 Record *ColInstr = getInstrForColumn(CurKeyInstr, CurValueCol);
307 Record *MapTableEmitter::getInstrForColumn(Record *KeyInstr,
322 const std::vector<Record*> &RelatedInstrVec = RowInstrMap[KeyValue];
325 Record *MatchInstr = nullptr;
329 Record *CurInstr = RelatedInstrVec[i];
381 Record *CurInstr = NumberedInstructions[i]->TheDef;
382 std::vector<Record*> ColInstrs = MapTable[CurInstr];
506 std::vector<Record*> InstrMapVec;
512 for (Record *CurMap : InstrMapVec) {
523 PrintFatalError("Record `" + CurMap->getName() + "', field "
570 std::vector<Record*> InstrMapVec;
587 for (Record *CurMap : InstrMapVec) {