Skip to content

Commit a8cb03f

Browse files
committed
[AMDGPU] Make AMDGPULowerKernelArguments a module pass
After c4d8920 AMDGPULowerKernelArguments may clone functions and modify the kernel signature of those functions to enable preloading hidden kernel arguments. These leftover functions end up as dead declarations which may cause issues with the toolchain downstream. This patch makes AMDGPULowerKernelArguments a module pass so that we can safely erase these leftover declarations. There is also some small refactoring to avoid duplicated logic with the different pass managers. The update changes the pass interfaces to look similar to other AMDGPU passes that have been migrated over to the new pass manager.
1 parent 4512bbe commit a8cb03f

File tree

6 files changed

+267
-242
lines changed

6 files changed

+267
-242
lines changed

llvm/lib/Target/AMDGPU/AMDGPU.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ ModulePass *createAMDGPUCtorDtorLoweringLegacyPass();
111111
void initializeAMDGPUCtorDtorLoweringLegacyPass(PassRegistry &);
112112
extern char &AMDGPUCtorDtorLoweringLegacyPassID;
113113

114-
FunctionPass *createAMDGPULowerKernelArgumentsPass();
115-
void initializeAMDGPULowerKernelArgumentsPass(PassRegistry &);
116-
extern char &AMDGPULowerKernelArgumentsID;
114+
ModulePass *createAMDGPULowerKernelArgumentsLegacyPass(const TargetMachine *TM);
115+
void initializeAMDGPULowerKernelArgumentsLegacyPass(PassRegistry &);
116+
extern char &AMDGPULowerKernelArgumentsLegacyPassID;
117117

118118
FunctionPass *createAMDGPUPromoteKernelArgumentsPass();
119119
void initializeAMDGPUPromoteKernelArgumentsPass(PassRegistry &);
@@ -310,7 +310,7 @@ class AMDGPULowerKernelArgumentsPass
310310

311311
public:
312312
AMDGPULowerKernelArgumentsPass(TargetMachine &TM) : TM(TM){};
313-
PreservedAnalyses run(Function &, FunctionAnalysisManager &);
313+
PreservedAnalyses run(Module &, ModuleAnalysisManager &);
314314
};
315315

316316
struct AMDGPUAttributorOptions {

0 commit comments

Comments
 (0)