Skip to content

Commit 9c93e72

Browse files
committed
llvm-tblgen: Rewrite emitters to use TableGen::Emitter
Each emitter became self-contained since it has the registration of option. Differential Revision: https://reviews.llvm.org/D144351
1 parent a7e2b74 commit 9c93e72

33 files changed

+133
-486
lines changed

llvm/utils/TableGen/AsmMatcherEmitter.cpp

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,13 @@
100100
#include "CodeGenRegisters.h"
101101
#include "CodeGenTarget.h"
102102
#include "SubtargetFeatureInfo.h"
103-
#include "TableGenBackends.h"
104103
#include "Types.h"
105104
#include "llvm/ADT/CachedHashString.h"
106105
#include "llvm/ADT/PointerUnion.h"
107106
#include "llvm/ADT/STLExtras.h"
108107
#include "llvm/ADT/SmallPtrSet.h"
109108
#include "llvm/ADT/SmallVector.h"
110109
#include "llvm/ADT/StringExtras.h"
111-
#include "llvm/Config/llvm-config.h"
112110
#include "llvm/Support/CommandLine.h"
113111
#include "llvm/Support/Debug.h"
114112
#include "llvm/Support/ErrorHandling.h"
@@ -4004,10 +4002,5 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
40044002
OS << "#endif // GET_MNEMONIC_CHECKER\n\n";
40054003
}
40064004

4007-
namespace llvm {
4008-
4009-
void EmitAsmMatcher(RecordKeeper &RK, raw_ostream &OS) {
4010-
AsmMatcherEmitter(RK).run(OS);
4011-
}
4012-
4013-
} // end namespace llvm
4005+
static TableGen::Emitter::OptClass<AsmMatcherEmitter>
4006+
X("gen-asm-matcher", "Generate assembly instruction matcher");

llvm/utils/TableGen/AsmWriterEmitter.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "CodeGenRegisters.h"
1818
#include "CodeGenTarget.h"
1919
#include "SequenceToOffsetTable.h"
20-
#include "TableGenBackends.h"
2120
#include "Types.h"
2221
#include "llvm/ADT/ArrayRef.h"
2322
#include "llvm/ADT/DenseMap.h"
@@ -1310,10 +1309,5 @@ void AsmWriterEmitter::run(raw_ostream &O) {
13101309
EmitPrintAliasInstruction(O);
13111310
}
13121311

1313-
namespace llvm {
1314-
1315-
void EmitAsmWriter(RecordKeeper &RK, raw_ostream &OS) {
1316-
AsmWriterEmitter(RK).run(OS);
1317-
}
1318-
1319-
} // end namespace llvm
1312+
static TableGen::Emitter::OptClass<AsmWriterEmitter>
1313+
X("gen-asm-writer", "Generate assembly writer");

llvm/utils/TableGen/Attributes.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
//
77
//===----------------------------------------------------------------------===//
88

9-
#include "TableGenBackends.h"
109
#include "llvm/TableGen/Record.h"
10+
#include "llvm/TableGen/TableGenBackend.h"
1111
#include <vector>
1212
using namespace llvm;
1313

@@ -130,10 +130,5 @@ void Attributes::run(raw_ostream &OS) {
130130
emitAttributeProperties(OS);
131131
}
132132

133-
namespace llvm {
134-
135-
void EmitAttributes(RecordKeeper &RK, raw_ostream &OS) {
136-
Attributes(RK).run(OS);
137-
}
138-
139-
} // namespace llvm
133+
static TableGen::Emitter::OptClass<Attributes> X("gen-attrs",
134+
"Generate attributes");

llvm/utils/TableGen/CTagsEmitter.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
#include "TableGenBackends.h"
1615
#include "llvm/Support/MemoryBuffer.h"
1716
#include "llvm/Support/SourceMgr.h"
1817
#include "llvm/TableGen/Error.h"
1918
#include "llvm/TableGen/Record.h"
19+
#include "llvm/TableGen/TableGenBackend.h"
2020
#include <algorithm>
2121
#include <vector>
2222
using namespace llvm;
@@ -86,8 +86,5 @@ void CTagsEmitter::run(raw_ostream &OS) {
8686
T.emit(OS);
8787
}
8888

89-
namespace llvm {
90-
91-
void EmitCTags(RecordKeeper &RK, raw_ostream &OS) { CTagsEmitter(RK).run(OS); }
92-
93-
} // namespace llvm
89+
static TableGen::Emitter::OptClass<CTagsEmitter>
90+
X("gen-ctags", "Generate ctags-compatible index");

llvm/utils/TableGen/CallingConvEmitter.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
//===----------------------------------------------------------------------===//
1313

1414
#include "CodeGenTarget.h"
15-
#include "TableGenBackends.h"
1615
#include "llvm/TableGen/Error.h"
1716
#include "llvm/TableGen/Record.h"
1817
#include "llvm/TableGen/TableGenBackend.h"
@@ -429,10 +428,5 @@ void CallingConvEmitter::EmitArgRegisterLists(raw_ostream &O) {
429428
}
430429
}
431430

432-
namespace llvm {
433-
434-
void EmitCallingConv(RecordKeeper &RK, raw_ostream &OS) {
435-
CallingConvEmitter(RK).run(OS);
436-
}
437-
438-
} // namespace llvm
431+
static TableGen::Emitter::OptClass<CallingConvEmitter>
432+
X("gen-callingconv", "Generate calling convention descriptions");

llvm/utils/TableGen/CodeEmitterGen.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "CodeGenInstruction.h"
1717
#include "CodeGenTarget.h"
1818
#include "InfoByHwMode.h"
19-
#include "TableGenBackends.h"
2019
#include "VarLenCodeEmitterGen.h"
2120
#include "llvm/ADT/APInt.h"
2221
#include "llvm/ADT/ArrayRef.h"
@@ -504,10 +503,5 @@ void CodeEmitterGen::run(raw_ostream &o) {
504503

505504
} // end anonymous namespace
506505

507-
namespace llvm {
508-
509-
void EmitCodeEmitter(RecordKeeper &RK, raw_ostream &OS) {
510-
CodeEmitterGen(RK).run(OS);
511-
}
512-
513-
} // end namespace llvm
506+
static TableGen::Emitter::OptClass<CodeEmitterGen>
507+
X("gen-emitter", "Generate machine code emitter");

llvm/utils/TableGen/CompressInstEmitter.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@
6767
#include "CodeGenInstruction.h"
6868
#include "CodeGenRegisters.h"
6969
#include "CodeGenTarget.h"
70-
#include "TableGenBackends.h"
7170
#include "llvm/ADT/IndexedMap.h"
7271
#include "llvm/ADT/SmallVector.h"
7372
#include "llvm/ADT/StringMap.h"
@@ -904,10 +903,5 @@ void CompressInstEmitter::run(raw_ostream &o) {
904903
emitCompressInstEmitter(o, EmitterType::CheckCompress);
905904
}
906905

907-
namespace llvm {
908-
909-
void EmitCompressInst(RecordKeeper &RK, raw_ostream &OS) {
910-
CompressInstEmitter(RK).run(OS);
911-
}
912-
913-
} // namespace llvm
906+
static TableGen::Emitter::OptClass<CompressInstEmitter>
907+
X("gen-compress-inst-emitter", "Generate RISCV compressed instructions.");

llvm/utils/TableGen/DAGISelEmitter.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#include "CodeGenInstruction.h"
1515
#include "CodeGenTarget.h"
1616
#include "DAGISelMatcher.h"
17-
#include "TableGenBackends.h"
1817
#include "llvm/Support/Debug.h"
1918
#include "llvm/TableGen/Record.h"
2019
#include "llvm/TableGen/TableGenBackend.h"
@@ -188,10 +187,5 @@ void DAGISelEmitter::run(raw_ostream &OS) {
188187
EmitMatcherTable(TheMatcher.get(), CGP, OS);
189188
}
190189

191-
namespace llvm {
192-
193-
void EmitDAGISel(RecordKeeper &RK, raw_ostream &OS) {
194-
DAGISelEmitter(RK).run(OS);
195-
}
196-
197-
} // namespace llvm
190+
static TableGen::Emitter::OptClass<DAGISelEmitter>
191+
X("gen-dag-isel", "Generate a DAG instruction selector");

llvm/utils/TableGen/DFAEmitter.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222

2323
#include "DFAEmitter.h"
2424
#include "SequenceToOffsetTable.h"
25-
#include "TableGenBackends.h"
2625
#include "llvm/ADT/SmallVector.h"
2726
#include "llvm/ADT/StringExtras.h"
2827
#include "llvm/ADT/UniqueVector.h"
2928
#include "llvm/Support/Debug.h"
3029
#include "llvm/Support/raw_ostream.h"
3130
#include "llvm/TableGen/Record.h"
31+
#include "llvm/TableGen/TableGenBackend.h"
3232
#include <cassert>
3333
#include <cstdint>
3434
#include <deque>
@@ -370,10 +370,5 @@ void CustomDfaEmitter::printActionValue(action_type A, raw_ostream &OS) {
370370
OS << ")";
371371
}
372372

373-
namespace llvm {
374-
375-
void EmitAutomata(RecordKeeper &RK, raw_ostream &OS) {
376-
AutomatonEmitter(RK).run(OS);
377-
}
378-
379-
} // namespace llvm
373+
static TableGen::Emitter::OptClass<AutomatonEmitter>
374+
X("gen-automata", "Generate generic automata");

llvm/utils/TableGen/DFAPacketizerEmitter.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
#include "CodeGenSchedule.h"
1818
#include "CodeGenTarget.h"
1919
#include "DFAEmitter.h"
20-
#include "TableGenBackends.h"
2120
#include "llvm/ADT/SmallVector.h"
2221
#include "llvm/Support/Debug.h"
2322
#include "llvm/Support/raw_ostream.h"
@@ -354,10 +353,5 @@ void DFAPacketizerEmitter::emitForItineraries(
354353
<< "\n}\n\n";
355354
}
356355

357-
namespace llvm {
358-
359-
void EmitDFAPacketizer(RecordKeeper &RK, raw_ostream &OS) {
360-
DFAPacketizerEmitter(RK).run(OS);
361-
}
362-
363-
} // end namespace llvm
356+
static TableGen::Emitter::OptClass<DFAPacketizerEmitter>
357+
X("gen-dfa-packetizer", "Generate DFA Packetizer for VLIW targets");

0 commit comments

Comments
 (0)