diff --git a/llvm/utils/TableGen/CodeGenMapTable.cpp b/llvm/utils/TableGen/CodeGenMapTable.cpp index e5025784d304d..35ec495b93ba2 100644 --- a/llvm/utils/TableGen/CodeGenMapTable.cpp +++ b/llvm/utils/TableGen/CodeGenMapTable.cpp @@ -80,6 +80,7 @@ #include "TableGenBackends.h" #include "llvm/ADT/SetVector.h" #include "llvm/ADT/StringExtras.h" +#include "llvm/TableGen/CodeGenHelpers.h" #include "llvm/TableGen/Error.h" #include "llvm/TableGen/Record.h" @@ -549,9 +550,8 @@ void llvm::EmitMapTable(const RecordKeeper &Records, raw_ostream &OS) { if (InstrMapVec.empty()) return; - OS << "#ifdef GET_INSTRMAP_INFO\n"; - OS << "#undef GET_INSTRMAP_INFO\n"; - OS << "namespace llvm::" << NameSpace << " {\n\n"; + IfDefEmitter IfDef(OS, "GET_INSTRMAP_INFO"); + NamespaceEmitter NS(OS, ("llvm::" + NameSpace).str()); // Emit coulumn field names and their values as enums. emitEnums(OS, Records); @@ -574,6 +574,4 @@ void llvm::EmitMapTable(const RecordKeeper &Records, raw_ostream &OS) { // Emit map tables and the functions to query them. IMap.emitTablesWithFunc(OS); } - OS << "} // end namespace llvm::" << NameSpace << '\n'; - OS << "#endif // GET_INSTRMAP_INFO\n\n"; }