Skip to content

Commit a449b85

Browse files
authored
[AMDGPU][R600] Move R600CodeGenPassBuilder into R600TargetMachine(NFC). (#103721)
1 parent b18b454 commit a449b85

File tree

7 files changed

+52
-78
lines changed

7 files changed

+52
-78
lines changed

llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#include "GCNSchedStrategy.h"
3333
#include "GCNVOPDUtils.h"
3434
#include "R600.h"
35-
#include "R600MachineFunctionInfo.h"
3635
#include "R600TargetMachine.h"
3736
#include "SIFixSGPRCopies.h"
3837
#include "SIMachineFunctionInfo.h"
@@ -1214,13 +1213,6 @@ AMDGPUPassConfig::createMachineScheduler(MachineSchedContext *C) const {
12141213
return DAG;
12151214
}
12161215

1217-
MachineFunctionInfo *R600TargetMachine::createMachineFunctionInfo(
1218-
BumpPtrAllocator &Allocator, const Function &F,
1219-
const TargetSubtargetInfo *STI) const {
1220-
return R600MachineFunctionInfo::create<R600MachineFunctionInfo>(
1221-
Allocator, F, static_cast<const R600Subtarget *>(STI));
1222-
}
1223-
12241216
//===----------------------------------------------------------------------===//
12251217
// GCN Legacy Pass Setup
12261218
//===----------------------------------------------------------------------===//

llvm/lib/Target/AMDGPU/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ add_llvm_target(AMDGPUCodeGen
121121
GCNVOPDUtils.cpp
122122
R600AsmPrinter.cpp
123123
R600ClauseMergePass.cpp
124-
R600CodeGenPassBuilder.cpp
125124
R600ControlFlowFinalizer.cpp
126125
R600EmitClauseMarkers.cpp
127126
R600ExpandSpecialInstrs.cpp

llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.cpp

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

llvm/lib/Target/AMDGPU/R600CodeGenPassBuilder.h

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

llvm/lib/Target/AMDGPU/R600ISelLowering.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include "AMDGPU.h"
1616
#include "MCTargetDesc/R600MCTargetDesc.h"
1717
#include "R600Defines.h"
18-
#include "R600InstrInfo.h"
1918
#include "R600MachineFunctionInfo.h"
2019
#include "R600Subtarget.h"
2120
#include "R600TargetMachine.h"

llvm/lib/Target/AMDGPU/R600TargetMachine.cpp

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,16 @@
77
//===----------------------------------------------------------------------===//
88
//
99
/// \file
10-
/// The AMDGPU-R600 target machine contains all of the hardware specific
11-
/// information needed to emit code for R600 GPUs.
10+
/// This file contains both AMDGPU-R600 target machine and the CodeGen pass
11+
/// builder. The target machine contains all of the hardware specific
12+
/// information needed to emit code for R600 GPUs and the CodeGen pass builder
13+
/// handles the pass pipeline for new pass manager.
1214
//
1315
//===----------------------------------------------------------------------===//
1416

1517
#include "R600TargetMachine.h"
1618
#include "R600.h"
17-
#include "R600CodeGenPassBuilder.h"
19+
#include "R600MachineFunctionInfo.h"
1820
#include "R600MachineScheduler.h"
1921
#include "R600TargetTransformInfo.h"
2022
#include "llvm/Transforms/Scalar.h"
@@ -152,3 +154,35 @@ Error R600TargetMachine::buildCodeGenPipeline(
152154
R600CodeGenPassBuilder CGPB(*this, Opts, PIC);
153155
return CGPB.buildPipeline(MPM, Out, DwoOut, FileType);
154156
}
157+
158+
MachineFunctionInfo *R600TargetMachine::createMachineFunctionInfo(
159+
BumpPtrAllocator &Allocator, const Function &F,
160+
const TargetSubtargetInfo *STI) const {
161+
return R600MachineFunctionInfo::create<R600MachineFunctionInfo>(
162+
Allocator, F, static_cast<const R600Subtarget *>(STI));
163+
}
164+
165+
//===----------------------------------------------------------------------===//
166+
// R600 CodeGen Pass Builder interface.
167+
//===----------------------------------------------------------------------===//
168+
169+
R600CodeGenPassBuilder::R600CodeGenPassBuilder(
170+
R600TargetMachine &TM, const CGPassBuilderOption &Opts,
171+
PassInstrumentationCallbacks *PIC)
172+
: CodeGenPassBuilder(TM, Opts, PIC) {
173+
Opt.RequiresCodeGenSCCOrder = true;
174+
}
175+
176+
void R600CodeGenPassBuilder::addPreISel(AddIRPass &addPass) const {
177+
// TODO: Add passes pre instruction selection.
178+
}
179+
180+
void R600CodeGenPassBuilder::addAsmPrinter(AddMachinePass &addPass,
181+
CreateMCStreamer) const {
182+
// TODO: Add AsmPrinter.
183+
}
184+
185+
Error R600CodeGenPassBuilder::addInstSelector(AddMachinePass &) const {
186+
// TODO: Add instruction selector.
187+
return Error::success();
188+
}

llvm/lib/Target/AMDGPU/R600TargetMachine.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,21 @@ class R600TargetMachine final : public AMDGPUTargetMachine {
5555
const TargetSubtargetInfo *STI) const override;
5656
};
5757

58+
//===----------------------------------------------------------------------===//
59+
// R600 CodeGen Pass Builder interface.
60+
//===----------------------------------------------------------------------===//
61+
62+
class R600CodeGenPassBuilder
63+
: public CodeGenPassBuilder<R600CodeGenPassBuilder, R600TargetMachine> {
64+
public:
65+
R600CodeGenPassBuilder(R600TargetMachine &TM, const CGPassBuilderOption &Opts,
66+
PassInstrumentationCallbacks *PIC);
67+
68+
void addPreISel(AddIRPass &addPass) const;
69+
void addAsmPrinter(AddMachinePass &, CreateMCStreamer) const;
70+
Error addInstSelector(AddMachinePass &) const;
71+
};
72+
5873
} // end namespace llvm
5974

6075
#endif // LLVM_LIB_TARGET_AMDGPU_R600TARGETMACHINE_H

0 commit comments

Comments
 (0)