Lines Matching refs:TableInfo
323 void emitTableEntry(DecoderTableInfo &TableInfo) const;
491 unsigned getPredicateIndex(DecoderTableInfo &TableInfo, StringRef P) const;
492 void emitPredicateTableEntry(DecoderTableInfo &TableInfo,
495 void emitSoftFailTableEntry(DecoderTableInfo &TableInfo,
499 void emitSingletonTableEntry(DecoderTableInfo &TableInfo,
503 void emitSingletonTableEntry(DecoderTableInfo &TableInfo,
536 void emitTableEntries(DecoderTableInfo &TableInfo) const;
663 void Filter::emitTableEntry(DecoderTableInfo &TableInfo) const { in emitTableEntry()
664 TableInfo.Table.push_back(MCD::OPC_ExtractField); in emitTableEntry()
665 TableInfo.Table.push_back(StartBit); in emitTableEntry()
666 TableInfo.Table.push_back(NumBits); in emitTableEntry()
669 TableInfo.FixupStack.emplace_back(); in emitTableEntry()
671 DecoderTable &Table = TableInfo.Table; in emitTableEntry()
684 FixupList &CurScope = TableInfo.FixupStack.back(); in emitTableEntry()
707 Filter.second->emitTableEntries(TableInfo); in emitTableEntry()
722 assert(TableInfo.FixupStack.size() > 1 && "fixup stack underflow!"); in emitTableEntry()
723 FixupScopeList::iterator Source = TableInfo.FixupStack.end() - 1; in emitTableEntry()
726 TableInfo.FixupStack.pop_back(); in emitTableEntry()
731 TableInfo.FixupStack.back().push_back(PrevFilter); in emitTableEntry()
1264 unsigned FilterChooser::getPredicateIndex(DecoderTableInfo &TableInfo, in getPredicateIndex() argument
1273 TableInfo.Predicates.insert(CachedHashString(Predicate)); in getPredicateIndex()
1275 PredicateSet::const_iterator P = find(TableInfo.Predicates, Predicate); in getPredicateIndex()
1276 return (unsigned)(P - TableInfo.Predicates.begin()); in getPredicateIndex()
1279 void FilterChooser::emitPredicateTableEntry(DecoderTableInfo &TableInfo, in emitPredicateTableEntry() argument
1294 unsigned PIdx = getPredicateIndex(TableInfo, PS.str()); in emitPredicateTableEntry()
1299 TableInfo.Table.push_back(MCD::OPC_CheckPredicate); in emitPredicateTableEntry()
1302 TableInfo.Table.push_back(PBytes[i]); in emitPredicateTableEntry()
1304 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitPredicateTableEntry()
1305 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1306 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1307 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1310 void FilterChooser::emitSoftFailTableEntry(DecoderTableInfo &TableInfo, in emitSoftFailTableEntry() argument
1352 TableInfo.Table.push_back(MCD::OPC_SoftFail); in emitSoftFailTableEntry()
1359 TableInfo.Table.push_back(MaskBytes[i]); in emitSoftFailTableEntry()
1361 TableInfo.Table.push_back(0); in emitSoftFailTableEntry()
1366 TableInfo.Table.push_back(MaskBytes[i]); in emitSoftFailTableEntry()
1368 TableInfo.Table.push_back(0); in emitSoftFailTableEntry()
1372 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo, in emitSingletonTableEntry() argument
1386 emitPredicateTableEntry(TableInfo, Opc.EncodingID); in emitSingletonTableEntry()
1391 TableInfo.Table.push_back(MCD::OPC_CheckField); in emitSingletonTableEntry()
1392 TableInfo.Table.push_back(StartBits[I-1]); in emitSingletonTableEntry()
1393 TableInfo.Table.push_back(NumBits); in emitSingletonTableEntry()
1397 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1398 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1400 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitSingletonTableEntry()
1404 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1405 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1406 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1410 emitSoftFailTableEntry(TableInfo, Opc.EncodingID); in emitSingletonTableEntry()
1414 getDecoderIndex(TableInfo.Decoders, Opc.EncodingID, HasCompleteDecoder); in emitSingletonTableEntry()
1425 TableInfo.Table.push_back(HasCompleteDecoder ? MCD::OPC_Decode : in emitSingletonTableEntry()
1431 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1432 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1440 TableInfo.Table.push_back(Bytes[i]); in emitSingletonTableEntry()
1444 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitSingletonTableEntry()
1446 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1447 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1448 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1453 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo, in emitSingletonTableEntry() argument
1459 TableInfo.FixupStack.emplace_back(); in emitSingletonTableEntry()
1461 emitSingletonTableEntry(TableInfo, Opc); in emitSingletonTableEntry()
1463 resolveTableFixups(TableInfo.Table, TableInfo.FixupStack.back(), in emitSingletonTableEntry()
1464 TableInfo.Table.size()); in emitSingletonTableEntry()
1465 TableInfo.FixupStack.pop_back(); in emitSingletonTableEntry()
1467 Best.getVariableFC().emitTableEntries(TableInfo); in emitSingletonTableEntry()
1750 void FilterChooser::emitTableEntries(DecoderTableInfo &TableInfo) const { in emitTableEntries()
1755 emitSingletonTableEntry(TableInfo, Opcodes[0]); in emitTableEntries()
1763 emitSingletonTableEntry(TableInfo, Best); in emitTableEntries()
1765 Best.emitTableEntry(TableInfo); in emitTableEntries()
2506 DecoderTableInfo TableInfo; in run() local
2517 TableInfo.Table.clear(); in run()
2518 TableInfo.FixupStack.clear(); in run()
2519 TableInfo.Table.reserve(16384); in run()
2520 TableInfo.FixupStack.emplace_back(); in run()
2521 FC.emitTableEntries(TableInfo); in run()
2524 assert(TableInfo.FixupStack.size() == 1 && "fixup stack phasing error!"); in run()
2526 resolveTableFixups(TableInfo.Table, TableInfo.FixupStack.back(), in run()
2527 TableInfo.Table.size()); in run()
2528 TableInfo.FixupStack.clear(); in run()
2530 TableInfo.Table.push_back(MCD::OPC_Fail); in run()
2533 emitTable(OS, TableInfo.Table, 0, FC.getBitWidth(), Opc.first.first); in run()
2538 emitPredicateFunction(OS, TableInfo.Predicates, 0); in run()
2541 emitDecoderFunction(OS, TableInfo.Decoders, 0); in run()