Lines Matching defs:FilterChooser

229 class FilterChooser;
231 /// Filter - Filter works with FilterChooser to produce the decoding tree for
236 /// FilterChooser to decide what further decoding logic to employ, or in another
237 /// words, what other remaining bits to look at. The FilterChooser eventually
241 /// FilterChooser becomes 1 or if there is a conflict. A conflict happens when
242 /// the Filter/FilterChooser combo does not know how to distinguish among the
269 const FilterChooser *Owner;// points to the FilterChooser who owns this filter
282 std::map<unsigned, std::unique_ptr<const FilterChooser>> FilterChooserMap;
292 Filter(FilterChooser &owner, unsigned startBit, unsigned numBits, bool mixed);
305 const FilterChooser &getVariableFC() const {
312 // inferior FilterChooser's.
330 // These are states of our finite state machines used in FilterChooser's
340 /// FilterChooser - FilterChooser chooses the best filter among a set of Filters
344 /// of instructions available, FilterChooser builds up the possible Filters that
353 /// decoding tree. And each case is delegated to an inferior FilterChooser to
357 class FilterChooser {
379 // Links to the FilterChooser above us in the decoding tree.
380 const FilterChooser *Parent;
392 FilterChooser(ArrayRef<EncodingAndInst> Insts,
402 FilterChooser(ArrayRef<EncodingAndInst> Insts,
406 const FilterChooser &parent)
413 FilterChooser(const FilterChooser &) = delete;
414 void operator=(const FilterChooser &) = delete;
553 Filter::Filter(FilterChooser &owner, unsigned startBit, unsigned numBits,
589 // inferior FilterChooser's.
606 std::make_pair(-1U, std::make_unique<FilterChooser>(
632 Inst.first, std::make_unique<FilterChooser>(
994 bool FilterChooser::fieldFromInsn(uint64_t &Field, insn_t &Insn,
1011 void FilterChooser::dumpFilterArray(raw_ostream &o,
1033 void FilterChooser::dumpStack(raw_ostream &o, const char *prefix) const {
1034 const FilterChooser *current = this;
1048 unsigned FilterChooser::getIslands(std::vector<unsigned> &StartBits,
1104 void FilterChooser::emitBinaryParser(raw_ostream &o, unsigned &Indentation,
1138 void FilterChooser::emitDecoder(raw_ostream &OS, unsigned Indentation,
1161 unsigned FilterChooser::getDecoderIndex(DecoderSet &Decoders,
1194 bool FilterChooser::emitPredicateMatch(raw_ostream &o, unsigned &Indentation,
1224 bool FilterChooser::doesOpcodeNeedPredicate(unsigned Opc) const {
1242 unsigned FilterChooser::getPredicateIndex(DecoderTableInfo &TableInfo,
1257 void FilterChooser::emitPredicateTableEntry(DecoderTableInfo &TableInfo,
1288 void FilterChooser::emitSoftFailTableEntry(DecoderTableInfo &TableInfo,
1350 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo,
1431 void FilterChooser::emitSingletonTableEntry(DecoderTableInfo &TableInfo,
1450 void FilterChooser::runSingleFilter(unsigned startBit, unsigned numBit,
1460 void FilterChooser::reportRegion(bitAttr_t RA, unsigned StartBit,
1471 bool FilterChooser::filterProcessor(bool AllowMixed, bool Greedy) {
1697 } // end of FilterChooser::filterProcessor(bool)
1702 void FilterChooser::doFilter() {
1704 assert(Num && "FilterChooser created with no instructions");
1728 void FilterChooser::emitTableEntries(DecoderTableInfo &TableInfo) const {
2479 FilterChooser FC(NumberedEncodingsRef, Opc.second, Operands,