Lines Matching refs:TableInfo
345 void emitTableEntry(DecoderTableInfo &TableInfo) const;
516 unsigned getPredicateIndex(DecoderTableInfo &TableInfo, StringRef P) const;
517 void emitPredicateTableEntry(DecoderTableInfo &TableInfo,
520 void emitSoftFailTableEntry(DecoderTableInfo &TableInfo,
524 void emitSingletonTableEntry(DecoderTableInfo &TableInfo,
528 void emitSingletonTableEntry(DecoderTableInfo &TableInfo,
561 void emitTableEntries(DecoderTableInfo &TableInfo) const;
688 void Filter::emitTableEntry(DecoderTableInfo &TableInfo) const { in emitTableEntry()
689 TableInfo.Table.push_back(MCD::OPC_ExtractField); in emitTableEntry()
690 TableInfo.Table.push_back(StartBit); in emitTableEntry()
691 TableInfo.Table.push_back(NumBits); in emitTableEntry()
694 TableInfo.FixupStack.emplace_back(); in emitTableEntry()
696 DecoderTable &Table = TableInfo.Table; in emitTableEntry()
709 FixupList &CurScope = TableInfo.FixupStack.back(); in emitTableEntry()
732 Filter.second->emitTableEntries(TableInfo); in emitTableEntry()
747 assert(TableInfo.FixupStack.size() > 1 && "fixup stack underflow!"); in emitTableEntry()
748 FixupScopeList::iterator Source = TableInfo.FixupStack.end() - 1; in emitTableEntry()
751 TableInfo.FixupStack.pop_back(); in emitTableEntry()
756 TableInfo.FixupStack.back().push_back(PrevFilter); in emitTableEntry()
1302 unsigned FilterChooser::getPredicateIndex(DecoderTableInfo &TableInfo, in getPredicateIndex() argument
1311 TableInfo.Predicates.insert(CachedHashString(Predicate)); in getPredicateIndex()
1313 PredicateSet::const_iterator P = find(TableInfo.Predicates, Predicate); in getPredicateIndex()
1314 return (unsigned)(P - TableInfo.Predicates.begin()); in getPredicateIndex()
1317 void FilterChooser::emitPredicateTableEntry(DecoderTableInfo &TableInfo, in emitPredicateTableEntry() argument
1332 unsigned PIdx = getPredicateIndex(TableInfo, PS.str()); in emitPredicateTableEntry()
1337 TableInfo.Table.push_back(MCD::OPC_CheckPredicate); in emitPredicateTableEntry()
1340 TableInfo.Table.push_back(PBytes[i]); in emitPredicateTableEntry()
1342 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitPredicateTableEntry()
1343 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1344 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1345 TableInfo.Table.push_back(0); in emitPredicateTableEntry()
1348 void FilterChooser::emitSoftFailTableEntry(DecoderTableInfo &TableInfo, in emitSoftFailTableEntry() argument
1391 TableInfo.Table.push_back(MCD::OPC_SoftFail); in emitSoftFailTableEntry()
1398 TableInfo.Table.push_back(MaskBytes[i]); in emitSoftFailTableEntry()
1400 TableInfo.Table.push_back(0); in emitSoftFailTableEntry()
1405 TableInfo.Table.push_back(MaskBytes[i]); in emitSoftFailTableEntry()
1407 TableInfo.Table.push_back(0); in emitSoftFailTableEntry()
1411 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo, in emitSingletonTableEntry() argument
1425 emitPredicateTableEntry(TableInfo, Opc.EncodingID); in emitSingletonTableEntry()
1430 TableInfo.Table.push_back(MCD::OPC_CheckField); in emitSingletonTableEntry()
1431 TableInfo.Table.push_back(StartBits[I-1]); in emitSingletonTableEntry()
1432 TableInfo.Table.push_back(NumBits); in emitSingletonTableEntry()
1436 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1437 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1439 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitSingletonTableEntry()
1443 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1444 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1445 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1449 emitSoftFailTableEntry(TableInfo, Opc.EncodingID); in emitSingletonTableEntry()
1453 getDecoderIndex(TableInfo.Decoders, Opc.EncodingID, HasCompleteDecoder); in emitSingletonTableEntry()
1464 TableInfo.Table.push_back(HasCompleteDecoder ? MCD::OPC_Decode : in emitSingletonTableEntry()
1470 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1471 TableInfo.Table.push_back(*p); in emitSingletonTableEntry()
1479 TableInfo.Table.push_back(Bytes[i]); in emitSingletonTableEntry()
1483 TableInfo.FixupStack.back().push_back(TableInfo.Table.size()); in emitSingletonTableEntry()
1485 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1486 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1487 TableInfo.Table.push_back(0); in emitSingletonTableEntry()
1492 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo, in emitSingletonTableEntry() argument
1498 TableInfo.FixupStack.emplace_back(); in emitSingletonTableEntry()
1500 emitSingletonTableEntry(TableInfo, Opc); in emitSingletonTableEntry()
1502 resolveTableFixups(TableInfo.Table, TableInfo.FixupStack.back(), in emitSingletonTableEntry()
1503 TableInfo.Table.size()); in emitSingletonTableEntry()
1504 TableInfo.FixupStack.pop_back(); in emitSingletonTableEntry()
1506 Best.getVariableFC().emitTableEntries(TableInfo); in emitSingletonTableEntry()
1789 void FilterChooser::emitTableEntries(DecoderTableInfo &TableInfo) const { in emitTableEntries()
1794 emitSingletonTableEntry(TableInfo, Opcodes[0]); in emitTableEntries()
1802 emitSingletonTableEntry(TableInfo, Best); in emitTableEntries()
1804 Best.emitTableEntry(TableInfo); in emitTableEntries()
2646 DecoderTableInfo TableInfo; in run() local
2657 TableInfo.Table.clear(); in run()
2658 TableInfo.FixupStack.clear(); in run()
2659 TableInfo.Table.reserve(16384); in run()
2660 TableInfo.FixupStack.emplace_back(); in run()
2661 FC.emitTableEntries(TableInfo); in run()
2664 assert(TableInfo.FixupStack.size() == 1 && "fixup stack phasing error!"); in run()
2666 resolveTableFixups(TableInfo.Table, TableInfo.FixupStack.back(), in run()
2667 TableInfo.Table.size()); in run()
2668 TableInfo.FixupStack.clear(); in run()
2670 TableInfo.Table.push_back(MCD::OPC_Fail); in run()
2673 emitTable(OS, TableInfo.Table, 0, FC.getBitWidth(), Opc.first.first); in run()
2683 emitPredicateFunction(OS, TableInfo.Predicates, 0); in run()
2686 emitDecoderFunction(OS, TableInfo.Decoders, 0); in run()