diff options
Diffstat (limited to 'llvm/utils/TableGen/DisassemblerEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/DisassemblerEmitter.cpp | 26 |
1 files changed, 5 insertions, 21 deletions
diff --git a/llvm/utils/TableGen/DisassemblerEmitter.cpp b/llvm/utils/TableGen/DisassemblerEmitter.cpp index 297d12c5d0e9..dfa4b30ee569 100644 --- a/llvm/utils/TableGen/DisassemblerEmitter.cpp +++ b/llvm/utils/TableGen/DisassemblerEmitter.cpp @@ -96,10 +96,7 @@ using namespace llvm::X86Disassembler; namespace llvm { extern void EmitDecoder(RecordKeeper &RK, raw_ostream &OS, - const std::string &PredicateNamespace, - const std::string &GPrefix, const std::string &GPostfix, - const std::string &ROK, const std::string &RFail, - const std::string &L); + const std::string &PredicateNamespace); void EmitDisassembler(RecordKeeper &Records, raw_ostream &OS) { CodeGenTarget Target(Records); @@ -132,23 +129,10 @@ void EmitDisassembler(RecordKeeper &Records, raw_ostream &OS) { return; } - // ARM and Thumb have a CHECK() macro to deal with DecodeStatuses. - if (Target.getName() == "ARM" || Target.getName() == "Thumb" || - Target.getName() == "AArch64" || Target.getName() == "ARM64") { - std::string PredicateNamespace = std::string(Target.getName()); - if (PredicateNamespace == "Thumb") - PredicateNamespace = "ARM"; - - EmitDecoder(Records, OS, PredicateNamespace, "if (!Check(S, ", "))", "S", - "MCDisassembler::Fail", - " MCDisassembler::DecodeStatus S = " - "MCDisassembler::Success;\n(void)S;"); - return; - } - - EmitDecoder(Records, OS, std::string(Target.getName()), "if (", - " == MCDisassembler::Fail)", "MCDisassembler::Success", - "MCDisassembler::Fail", ""); + std::string PredicateNamespace = std::string(Target.getName()); + if (PredicateNamespace == "Thumb") + PredicateNamespace = "ARM"; + EmitDecoder(Records, OS, PredicateNamespace); } } // end namespace llvm |