Skip to content

Commit 00171b3

Browse files
authored
[NFC][TableGen] Adopt CodeGenHelpers in SDNodeInfoEmitter (#165622)
Use `IfDefEmitter` and `NamespaceEmitter` in SDNodeInfoEmitter.
1 parent 37fff6e commit 00171b3

File tree

2 files changed

+9
-15
lines changed

2 files changed

+9
-15
lines changed

llvm/test/TableGen/SDNodeInfoEmitter/no-nodes.td

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ def MyTarget : Target;
2020
// CHECK-EMPTY:
2121
// CHECK-NEXT: namespace llvm {
2222
// CHECK-EMPTY:
23+
// CHECK-EMPTY:
2324
// CHECK-NEXT: #ifdef __GNUC__
2425
// CHECK-NEXT: #pragma GCC diagnostic push
2526
// CHECK-NEXT: #pragma GCC diagnostic ignored "-Woverlength-strings"

llvm/utils/TableGen/SDNodeInfoEmitter.cpp

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "Common/CodeGenDAGPatterns.h" // For SDNodeInfo.
1111
#include "llvm/Support/CommandLine.h"
1212
#include "llvm/Support/FormatVariadic.h"
13+
#include "llvm/TableGen/CodeGenHelpers.h"
1314
#include "llvm/TableGen/Error.h"
1415
#include "llvm/TableGen/StringToOffsetTable.h"
1516
#include "llvm/TableGen/TableGenBackend.h"
@@ -129,9 +130,8 @@ SDNodeInfoEmitter::SDNodeInfoEmitter(const RecordKeeper &RK)
129130
}
130131

131132
void SDNodeInfoEmitter::emitEnum(raw_ostream &OS) const {
132-
OS << "#ifdef GET_SDNODE_ENUM\n";
133-
OS << "#undef GET_SDNODE_ENUM\n\n";
134-
OS << "namespace llvm::" << TargetSDNodeNamespace << " {\n\n";
133+
IfDefEmitter IfDef(OS, "GET_SDNODE_ENUM");
134+
NamespaceEmitter NS(OS, "llvm::" + TargetSDNodeNamespace);
135135

136136
if (!NodesByName.empty()) {
137137
StringRef FirstName = NodesByName.begin()->first;
@@ -145,14 +145,11 @@ void SDNodeInfoEmitter::emitEnum(raw_ostream &OS) const {
145145

146146
OS << "};\n\n";
147147
OS << "static constexpr unsigned GENERATED_OPCODE_END = " << LastName
148-
<< " + 1;\n\n";
148+
<< " + 1;\n";
149149
} else {
150150
OS << "static constexpr unsigned GENERATED_OPCODE_END = "
151-
"ISD::BUILTIN_OP_END;\n\n";
151+
"ISD::BUILTIN_OP_END;\n";
152152
}
153-
154-
OS << "} // namespace llvm::" << TargetSDNodeNamespace << "\n\n";
155-
OS << "#endif // GET_SDNODE_ENUM\n\n";
156153
}
157154

158155
std::vector<unsigned> SDNodeInfoEmitter::emitNodeNames(raw_ostream &OS) const {
@@ -324,9 +321,8 @@ static void emitDesc(raw_ostream &OS, StringRef EnumName,
324321
void SDNodeInfoEmitter::emitDescs(raw_ostream &OS) const {
325322
StringRef TargetName = Target.getName();
326323

327-
OS << "#ifdef GET_SDNODE_DESC\n";
328-
OS << "#undef GET_SDNODE_DESC\n\n";
329-
OS << "namespace llvm {\n";
324+
IfDefEmitter IfDef(OS, "GET_SDNODE_DESC");
325+
NamespaceEmitter NS(OS, "llvm");
330326

331327
std::vector<unsigned> NameOffsets = emitNodeNames(OS);
332328
std::vector<std::pair<unsigned, unsigned>> ConstraintOffsetsAndCounts =
@@ -343,11 +339,8 @@ void SDNodeInfoEmitter::emitDescs(raw_ostream &OS) const {
343339

344340
OS << formatv("static const SDNodeInfo {0}GenSDNodeInfo(\n"
345341
" /*NumOpcodes=*/{1}, {0}SDNodeDescs,\n"
346-
" {0}SDNodeNames, {0}SDTypeConstraints);\n\n",
342+
" {0}SDNodeNames, {0}SDTypeConstraints);\n",
347343
TargetName, NodesByName.size());
348-
349-
OS << "} // namespace llvm\n\n";
350-
OS << "#endif // GET_SDNODE_DESC\n\n";
351344
}
352345

353346
void SDNodeInfoEmitter::run(raw_ostream &OS) const {

0 commit comments

Comments
 (0)