Fix some incorrectly generated source code after rebase.

This commit is contained in:
Rot127 2024-03-20 02:42:25 -05:00 committed by Rot127
parent 01fe52b2cc
commit 1a0c3b2478
5 changed files with 24 additions and 43 deletions

View File

@ -978,7 +978,7 @@ void AsmWriterEmitter::run() {
unsigned BitsLeft = 0;
unsigned AsmStrBits = 0;
PI.asmWriterEmitSourceFileHeader();
PI.asmWriterEmitSourceFileHeader(Records);
EmitGetMnemonic(TableDrivenOperandPrinters, BitsLeft, AsmStrBits);
EmitPrintInstruction(TableDrivenOperandPrinters, BitsLeft, AsmStrBits);
EmitGetRegisterName();

View File

@ -1861,9 +1861,6 @@ static void setPrinterParameters(CodeGenTarget &Target, PrinterLanguage PL,
std::string &GPrefix, std::string &GPostfix,
std::string &ROK, std::string &RFail,
std::string &L) {
// ARM and Thumb have a CHECK() macro to deal with DecodeStatuses.
if (Target.getName() == "ARM" || Target.getName() == "Thumb" ||
Target.getName() == "AArch64" || Target.getName() == "ARM64") {
PredicateNamespace = std::string(Target.getName());
if (PredicateNamespace == "Thumb")
@ -1884,22 +1881,6 @@ static void setPrinterParameters(CodeGenTarget &Target, PrinterLanguage PL,
break;
}
GPostfix = "))";
} else {
PredicateNamespace = Target.getName().str();
GPrefix = "if (";
L = "";
switch (PL) {
default:
PrintFatalNote("DecoderEmitter does not support the given output language.");
case llvm::PRINTER_LANG_CPP:
GPostfix = " == MCDisassembler::Fail)";
break;
case llvm::PRINTER_LANG_CAPSTONE_C:
GPostfix = " == MCDisassembler_Fail)";
break;
}
}
ROK = "S";

View File

@ -380,7 +380,7 @@ public:
// Backend: AsmWriter
//-------------------------
virtual void asmWriterEmitSourceFileHeader() const;
virtual void asmWriterEmitSourceFileHeader(RecordKeeper &Records) const;
virtual void asmWriterEmitGetMnemonic(std::string const &TargetName,
StringRef const &ClassName) const;
virtual void asmWriterEmitAsmStrs(
@ -1235,7 +1235,7 @@ public:
// Backend: AsmWriter
//-------------------------
void asmWriterEmitSourceFileHeader() const override;
void asmWriterEmitSourceFileHeader(RecordKeeper &Records) const override;
void asmWriterEmitGetMnemonic(std::string const &TargetName,
StringRef const &ClassName) const override;
void asmWriterEmitAsmStrs(

View File

@ -27,7 +27,7 @@
static void emitDefaultSourceFileHeader(raw_ostream &OS) {
OS << "/* Capstone Disassembly Engine, https://www.capstone-engine.org */\n"
<< "/* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2022, */\n"
<< "/* Rot127 <unisono@quyllur.org> 2022-2023 */\n"
<< "/* Rot127 <unisono@quyllur.org> 2022-2024 */\n"
<< "/* Automatically generated file by Capstone's LLVM TableGen "
"Disassembler "
"Backend. */\n\n"
@ -1295,7 +1295,7 @@ void PrinterCapstone::decoderEmitterEmitSourceFileHeader() const {
// Backend: AsmWriter
//-------------------------
void PrinterCapstone::asmWriterEmitSourceFileHeader() const {
void PrinterCapstone::asmWriterEmitSourceFileHeader(RecordKeeper &Records) const {
emitDefaultSourceFileHeader(OS);
OS << "#include <capstone/platform.h>\n"
<< "#include <assert.h>\n\n";

View File

@ -2123,8 +2123,8 @@ void PrinterLLVM::decoderEmitterEmitSourceFileHeader() const {
// Backend: AsmWriter
//-------------------------
void PrinterLLVM::asmWriterEmitSourceFileHeader() const {
emitSourceFileHeader("Assembly Writer Source Fragment", OS);
void PrinterLLVM::asmWriterEmitSourceFileHeader(RecordKeeper &Records) const {
emitSourceFileHeader("Assembly Writer Source Fragment", OS, Records);
}
void PrinterLLVM::asmWriterEmitGetMnemonic(std::string const &TargetName,