Home | History | Annotate | Download | only in TableGen

Lines Matching refs:Decoder

1 //===------------ FixedLenDecoderEmitter.cpp - Decoder Generator ----------===//
10 // It contains the tablegen backend that emits the decoder functions for
35 #define DEBUG_TYPE "decoder-emitter"
46 std::string Decoder;
50 : Decoder(D), HasCompleteDecoder(HCD) { }
98 // Emit the decoder state machine table.
214 /// which could have been used by the decoder to resolve the conflict. The
215 /// decoder could try to decode the even/odd register numbering and assign to
216 /// VST4q8a or VST4q8b, but for the time being, the decoder chooses the "a"
694 // Emit the decoder state machine table.
802 // Decoder index.
896 // The decoder function is just a big switch statement based on the
897 // input decoder index.
902 << "Address, const void *Decoder, bool &DecodeComplete) {\n";
909 for (const auto &Decoder : Decoders) {
911 OS << Decoder;
1062 const std::string &Decoder = OpInfo.Decoder;
1077 if (Decoder != "") {
1079 o.indent(Indentation) << Emitter->GuardPrefix << Decoder
1080 << "(MI, tmp, Address, Decoder)"
1095 // If a custom instruction decoder was specified, use that.
1096 if (Op.numFields() == 0 && Op.Decoder.size()) {
1098 OS.indent(Indentation) << Emitter->GuardPrefix << Op.Decoder
1099 << "(MI, insn, Address, Decoder)"
1117 SmallString<256> Decoder;
1120 raw_svector_ostream S(Decoder);
1124 // Using the full decoder string as the key value here is a bit
1131 Decoders.insert(StringRef(Decoder));
1135 Decoder.str());
1348 // whether the instruction decoder is complete or not. If it is complete
1353 // decoder method indicates that additional processing should be done to see
1368 // Decoder index
1731 // of trying to auto-generate the decoder.
1853 std::string Decoder = "";
1860 Decoder
1862 if (Decoder == "" &&
1877 Decoder = "Decode" + TypeRecord->getName() + "RegisterClass";
1880 Decoder = "DecodePointerLikeRegClass" +
1889 Decoder = String->getValue();
1898 OperandInfo OpInfo(Decoder, HasCompleteDecoder);
1942 std::string Decoder = "";
1948 // decoder methods, and operands with (simple) MIOperandInfo's.
1956 Decoder = "Decode" + TypeRecord->getName() + "RegisterClass";
1959 Decoder = "DecodePointerLikeRegClass" +
1968 Decoder = String->getValue();
1977 OperandInfo OpInfo(Decoder, HasCompleteDecoder);
2174 << " << \", using decoder \" << DecodeIdx << \": \"\n"
2195 << " << \", using decoder \" << DecodeIdx << \": \");\n"
2279 // Emit the decoder for this namespace+width combination.
2283 // The decode table is cleared for each top level decoder function. The
2309 // Emit the decoder function.
2312 // Emit the main entry point for the decoder, decodeInstruction().