diff options
Diffstat (limited to 'llvm/utils/TableGen/AsmWriterEmitter.cpp')
-rw-r--r-- | llvm/utils/TableGen/AsmWriterEmitter.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/utils/TableGen/AsmWriterEmitter.cpp b/llvm/utils/TableGen/AsmWriterEmitter.cpp index b2e2125f82a..7b3a5046c3c 100644 --- a/llvm/utils/TableGen/AsmWriterEmitter.cpp +++ b/llvm/utils/TableGen/AsmWriterEmitter.cpp @@ -14,6 +14,7 @@ #include "AsmWriterEmitter.h" #include "CodeGenTarget.h" +#include "Record.h" #include <ostream> using namespace llvm; @@ -28,13 +29,19 @@ void AsmWriterEmitter::run(std::ostream &O) { EmitSourceFileHeader("Assembly Writer Source Fragment", O); CodeGenTarget Target; + + Record *AsmWriter = Target.getAsmWriter(); + + std::string AsmWriterClassName = + AsmWriter->getValueAsString("AsmWriterClassName"); + O << "/// printInstruction - This method is automatically generated by tablegen\n" "/// from the instruction set description. This method returns true if the\n" "/// machine instruction was sufficiently described to print it, otherwise\n" "/// it returns false.\n" - "bool " << Target.getName() - << "AsmPrinter::printInstruction(const MachineInstr *MI) {\n"; + "bool " << Target.getName() << AsmWriterClassName + << "::printInstruction(const MachineInstr *MI) {\n"; O << " switch (MI->getOpcode()) {\n" " default: return false;\n"; |