1414//
1515// ===----------------------------------------------------------------------===//
1616
17+ #include " AMDGPUReserveWWMRegs.h"
1718#include " AMDGPU.h"
1819#include " MCTargetDesc/AMDGPUMCTargetDesc.h"
1920#include " SIMachineFunctionInfo.h"
@@ -27,12 +28,12 @@ using namespace llvm;
2728
2829namespace {
2930
30- class AMDGPUReserveWWMRegs : public MachineFunctionPass {
31+ class AMDGPUReserveWWMRegsLegacy : public MachineFunctionPass {
3132public:
3233 static char ID;
3334
34- AMDGPUReserveWWMRegs () : MachineFunctionPass(ID) {
35- initializeAMDGPUReserveWWMRegsPass (*PassRegistry::getPassRegistry ());
35+ AMDGPUReserveWWMRegsLegacy () : MachineFunctionPass(ID) {
36+ initializeAMDGPUReserveWWMRegsLegacyPass (*PassRegistry::getPassRegistry ());
3637 }
3738
3839 bool runOnMachineFunction (MachineFunction &MF) override ;
@@ -47,16 +48,34 @@ class AMDGPUReserveWWMRegs : public MachineFunctionPass {
4748 }
4849};
4950
51+ class AMDGPUReserveWWMRegs {
52+ public:
53+ bool run (MachineFunction &MF);
54+ };
55+
5056} // End anonymous namespace.
5157
52- INITIALIZE_PASS (AMDGPUReserveWWMRegs , DEBUG_TYPE,
58+ INITIALIZE_PASS (AMDGPUReserveWWMRegsLegacy , DEBUG_TYPE,
5359 " AMDGPU Reserve WWM Registers" , false , false )
5460
55- char AMDGPUReserveWWMRegs::ID = 0;
61+ char AMDGPUReserveWWMRegsLegacy::ID = 0;
62+
63+ char &llvm::AMDGPUReserveWWMRegsLegacyID = AMDGPUReserveWWMRegsLegacy::ID;
5664
57- char &llvm::AMDGPUReserveWWMRegsID = AMDGPUReserveWWMRegs::ID;
65+ bool AMDGPUReserveWWMRegsLegacy::runOnMachineFunction (MachineFunction &MF) {
66+ return AMDGPUReserveWWMRegs ().run (MF);
67+ }
68+
69+ PreservedAnalyses
70+ AMDGPUReserveWWMRegsPass::run (MachineFunction &MF,
71+ MachineFunctionAnalysisManager &) {
72+ AMDGPUReserveWWMRegs ().run (MF);
73+ // TODO: This should abandon RegisterClassInfo once it is turned into an
74+ // analysis.
75+ return PreservedAnalyses::all ();
76+ }
5877
59- bool AMDGPUReserveWWMRegs::runOnMachineFunction (MachineFunction &MF) {
78+ bool AMDGPUReserveWWMRegs::run (MachineFunction &MF) {
6079 SIMachineFunctionInfo *MFI = MF.getInfo <SIMachineFunctionInfo>();
6180
6281 bool Changed = false ;
0 commit comments