forked from OSchip/llvm-project
[NewPM][AMDGPU] Pass TargetMachine to AMDGPUSimplifyLibCallsPass
Missed in https://reviews.llvm.org/D93863.
This commit is contained in:
parent
aa16903389
commit
8e293fe6ad
|
@ -77,7 +77,11 @@ FunctionPass *createAMDGPURewriteOutArgumentsPass();
|
|||
FunctionPass *createSIModeRegisterPass();
|
||||
|
||||
struct AMDGPUSimplifyLibCallsPass : PassInfoMixin<AMDGPUSimplifyLibCallsPass> {
|
||||
AMDGPUSimplifyLibCallsPass(TargetMachine &TM) : TM(TM) {}
|
||||
PreservedAnalyses run(Function &F, FunctionAnalysisManager &AM);
|
||||
|
||||
private:
|
||||
TargetMachine &TM;
|
||||
};
|
||||
|
||||
struct AMDGPUUseNativeCallsPass : PassInfoMixin<AMDGPUUseNativeCallsPass> {
|
||||
|
|
|
@ -1753,7 +1753,7 @@ bool AMDGPUSimplifyLibCalls::runOnFunction(Function &F) {
|
|||
|
||||
PreservedAnalyses AMDGPUSimplifyLibCallsPass::run(Function &F,
|
||||
FunctionAnalysisManager &AM) {
|
||||
AMDGPULibCalls Simplifier;
|
||||
AMDGPULibCalls Simplifier(&TM);
|
||||
Simplifier.initNativeFuncs();
|
||||
|
||||
bool Changed = false;
|
||||
|
|
|
@ -520,7 +520,7 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB,
|
|||
[this](StringRef PassName, FunctionPassManager &PM,
|
||||
ArrayRef<PassBuilder::PipelineElement>) {
|
||||
if (PassName == "amdgpu-simplifylib") {
|
||||
PM.addPass(AMDGPUSimplifyLibCallsPass());
|
||||
PM.addPass(AMDGPUSimplifyLibCallsPass(*this));
|
||||
return true;
|
||||
}
|
||||
if (PassName == "amdgpu-usenative") {
|
||||
|
@ -566,7 +566,7 @@ void AMDGPUTargetMachine::registerPassBuilderCallbacks(PassBuilder &PB,
|
|||
FPM.addPass(AMDGPUPropagateAttributesEarlyPass(*this));
|
||||
FPM.addPass(AMDGPUUseNativeCallsPass());
|
||||
if (EnableLibCallSimplify && Level != PassBuilder::OptimizationLevel::O0)
|
||||
FPM.addPass(AMDGPUSimplifyLibCallsPass());
|
||||
FPM.addPass(AMDGPUSimplifyLibCallsPass(*this));
|
||||
PM.addPass(createModuleToFunctionPassAdaptor(std::move(FPM)));
|
||||
});
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
; RUN: opt -O3 -S < %s | FileCheck -check-prefixes=OPT,OPT-WXX %s
|
||||
; RUN: opt -mtriple=amdgcn-- -O3 -S < %s | FileCheck -check-prefixes=OPT,OPT-WXX %s
|
||||
; RUN: opt -mtriple=amdgcn-- -O3 -mattr=+wavefrontsize32 -S < %s | FileCheck -check-prefixes=OPT,OPT-W32 %s
|
||||
; RUN: opt -mtriple=amdgcn-- -passes='default<O3>' -mattr=+wavefrontsize32 -S < %s | FileCheck -check-prefixes=OPT,OPT-W32 %s
|
||||
; RUN: opt -mtriple=amdgcn-- -O3 -mattr=+wavefrontsize64 -S < %s | FileCheck -check-prefixes=OPT,OPT-W64 %s
|
||||
; RUN: opt -mtriple=amdgcn-- -mcpu=tonga -O3 -S < %s | FileCheck -check-prefixes=OPT,OPT-W64 %s
|
||||
; RUN: opt -mtriple=amdgcn-- -mcpu=gfx1010 -O3 -mattr=+wavefrontsize32,-wavefrontsize64 -S < %s | FileCheck -check-prefixes=OPT,OPT-W32 %s
|
||||
|
|
Loading…
Reference in New Issue