Skip to content

Commit ee165cd

Browse files
committed
[AMDGPU] Eliminate SIMCCodeEmitter and de-virtualise encoding methods.
Simplifies some future changes needed for <#62629>. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D154337
1 parent 2c93cfa commit ee165cd

12 files changed

+73
-163
lines changed

llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ createAMDGPUAsmPrinterPass(TargetMachine &tm,
7979
}
8080

8181
extern "C" void LLVM_EXTERNAL_VISIBILITY LLVMInitializeAMDGPUAsmPrinter() {
82-
TargetRegistry::RegisterAsmPrinter(getTheAMDGPUTarget(),
82+
TargetRegistry::RegisterAsmPrinter(getTheR600Target(),
8383
llvm::createR600AsmPrinterPass);
8484
TargetRegistry::RegisterAsmPrinter(getTheGCNTarget(),
8585
createAMDGPUAsmPrinterPass);

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ static cl::opt<bool> EnableRewritePartialRegUses(
351351

352352
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUTarget() {
353353
// Register the target
354-
RegisterTargetMachine<R600TargetMachine> X(getTheAMDGPUTarget());
354+
RegisterTargetMachine<R600TargetMachine> X(getTheR600Target());
355355
RegisterTargetMachine<GCNTargetMachine> Y(getTheGCNTarget());
356356

357357
PassRegistry *PR = PassRegistry::getPassRegistry();

llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8877,7 +8877,7 @@ void AMDGPUAsmParser::cvtSDWA(MCInst &Inst, const OperandVector &Operands,
88778877

88788878
/// Force static initialization.
88798879
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUAsmParser() {
8880-
RegisterMCAsmParser<AMDGPUAsmParser> A(getTheAMDGPUTarget());
8880+
RegisterMCAsmParser<AMDGPUAsmParser> A(getTheR600Target());
88818881
RegisterMCAsmParser<AMDGPUAsmParser> B(getTheGCNTarget());
88828882
}
88838883

llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,9 +348,9 @@ createAMDGPUInstrPostProcess(const MCSubtargetInfo &STI,
348348
/// Extern function to initialize the targets for the AMDGPU backend
349349

350350
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUTargetMCA() {
351-
TargetRegistry::RegisterCustomBehaviour(getTheAMDGPUTarget(),
351+
TargetRegistry::RegisterCustomBehaviour(getTheR600Target(),
352352
createAMDGPUCustomBehaviour);
353-
TargetRegistry::RegisterInstrPostProcess(getTheAMDGPUTarget(),
353+
TargetRegistry::RegisterInstrPostProcess(getTheR600Target(),
354354
createAMDGPUInstrPostProcess);
355355

356356
TargetRegistry::RegisterCustomBehaviour(getTheGCNTarget(),

llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp

Lines changed: 0 additions & 20 deletions
This file was deleted.

llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h

Lines changed: 0 additions & 68 deletions
This file was deleted.

llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,9 @@ static MCInstrAnalysis *createAMDGPUMCInstrAnalysis(const MCInstrInfo *Info) {
150150
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUTargetMC() {
151151

152152
TargetRegistry::RegisterMCInstrInfo(getTheGCNTarget(), createAMDGPUMCInstrInfo);
153-
TargetRegistry::RegisterMCInstrInfo(getTheAMDGPUTarget(), createR600MCInstrInfo);
154-
for (Target *T : {&getTheAMDGPUTarget(), &getTheGCNTarget()}) {
153+
TargetRegistry::RegisterMCInstrInfo(getTheR600Target(),
154+
createR600MCInstrInfo);
155+
for (Target *T : {&getTheR600Target(), &getTheGCNTarget()}) {
155156
RegisterMCAsmInfo<AMDGPUMCAsmInfo> X(*T);
156157

157158
TargetRegistry::RegisterMCRegInfo(*T, createAMDGPUMCRegisterInfo);
@@ -163,14 +164,14 @@ extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAMDGPUTargetMC() {
163164
}
164165

165166
// R600 specific registration
166-
TargetRegistry::RegisterMCCodeEmitter(getTheAMDGPUTarget(),
167+
TargetRegistry::RegisterMCCodeEmitter(getTheR600Target(),
167168
createR600MCCodeEmitter);
168169
TargetRegistry::RegisterObjectTargetStreamer(
169-
getTheAMDGPUTarget(), createAMDGPUObjectTargetStreamer);
170+
getTheR600Target(), createAMDGPUObjectTargetStreamer);
170171

171172
// GCN specific registration
172173
TargetRegistry::RegisterMCCodeEmitter(getTheGCNTarget(),
173-
createSIMCCodeEmitter);
174+
createAMDGPUMCCodeEmitter);
174175

175176
TargetRegistry::RegisterAsmTargetStreamer(getTheGCNTarget(),
176177
createAMDGPUAsmTargetStreamer);

llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ enum AMDGPUDwarfFlavour : unsigned { Wave64 = 0, Wave32 = 1 };
3232

3333
MCRegisterInfo *createGCNMCRegisterInfo(AMDGPUDwarfFlavour DwarfFlavour);
3434

35-
MCCodeEmitter *createSIMCCodeEmitter(const MCInstrInfo &MCII,
36-
MCContext &Ctx);
35+
MCCodeEmitter *createAMDGPUMCCodeEmitter(const MCInstrInfo &MCII,
36+
MCContext &Ctx);
3737

3838
MCAsmBackend *createAMDGPUAsmBackend(const Target &T,
3939
const MCSubtargetInfo &STI,

llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ add_llvm_component_library(LLVMAMDGPUDesc
44
AMDGPUELFStreamer.cpp
55
AMDGPUInstPrinter.cpp
66
AMDGPUMCAsmInfo.cpp
7-
AMDGPUMCCodeEmitter.cpp
87
AMDGPUMCTargetDesc.cpp
98
AMDGPUTargetStreamer.cpp
109
R600InstPrinter.cpp

0 commit comments

Comments
 (0)