[llvm] d01b34e - [AMDGPU] Move perfhint analysis
Stanislav Mekhanoshin via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 21 13:08:14 PDT 2021
Author: Stanislav Mekhanoshin
Date: 2021-07-21T13:06:49-07:00
New Revision: d01b34ed31467073bd1a0f0040da4d74db20475e
URL: https://github.com/llvm/llvm-project/commit/d01b34ed31467073bd1a0f0040da4d74db20475e
DIFF: https://github.com/llvm/llvm-project/commit/d01b34ed31467073bd1a0f0040da4d74db20475e.diff
LOG: [AMDGPU] Move perfhint analysis
This is SCC pass, moving it to the end of SCC PM saves one
Function PM. This needs the analysis to take into account
memory access width since it is now places after the
load/store optimizer (D105651).
Differential Revision: https://reviews.llvm.org/D105652
Added:
Modified:
llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index bfb5f2905edc..b40f7b09effa 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -1106,9 +1106,6 @@ void AMDGPUPassConfig::addCodeGenPrepare() {
EnableLowerKernelArguments)
addPass(createAMDGPULowerKernelArgumentsPass());
- if (TM->getOptLevel() > CodeGenOpt::Less)
- addPass(&AMDGPUPerfHintAnalysisID);
-
TargetPassConfig::addCodeGenPrepare();
if (isPassEnabled(EnableLoadStoreVectorizer))
@@ -1219,6 +1216,9 @@ bool GCNPassConfig::addPreISel() {
}
addPass(createLCSSAPass());
+ if (TM->getOptLevel() > CodeGenOpt::Less)
+ addPass(&AMDGPUPerfHintAnalysisID);
+
return false;
}
diff --git a/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll b/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
index 33d318b0908b..698d1161f250 100644
--- a/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
+++ b/llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
@@ -769,8 +769,6 @@
; GCN-O2-NEXT: AMDGPU Annotate Kernel Features
; GCN-O2-NEXT: FunctionPass Manager
; GCN-O2-NEXT: AMDGPU Lower Kernel Arguments
-; GCN-O2-NEXT: Analysis if a function is memory bound
-; GCN-O2-NEXT: FunctionPass Manager
; GCN-O2-NEXT: Dominator Tree Construction
; GCN-O2-NEXT: Natural Loop Information
; GCN-O2-NEXT: CodeGen Prepare
@@ -819,6 +817,7 @@
; GCN-O2-NEXT: SI annotate control flow
; GCN-O2-NEXT: LCSSA Verifier
; GCN-O2-NEXT: Loop-Closed SSA Form Pass
+; GCN-O2-NEXT: Analysis if a function is memory bound
; GCN-O2-NEXT: DummyCGSCCPass
; GCN-O2-NEXT: FunctionPass Manager
; GCN-O2-NEXT: Safe Stack instrumentation pass
@@ -1068,8 +1067,6 @@
; GCN-O3-NEXT: AMDGPU Annotate Kernel Features
; GCN-O3-NEXT: FunctionPass Manager
; GCN-O3-NEXT: AMDGPU Lower Kernel Arguments
-; GCN-O3-NEXT: Analysis if a function is memory bound
-; GCN-O3-NEXT: FunctionPass Manager
; GCN-O3-NEXT: Dominator Tree Construction
; GCN-O3-NEXT: Natural Loop Information
; GCN-O3-NEXT: CodeGen Prepare
@@ -1118,6 +1115,7 @@
; GCN-O3-NEXT: SI annotate control flow
; GCN-O3-NEXT: LCSSA Verifier
; GCN-O3-NEXT: Loop-Closed SSA Form Pass
+; GCN-O3-NEXT: Analysis if a function is memory bound
; GCN-O3-NEXT: DummyCGSCCPass
; GCN-O3-NEXT: FunctionPass Manager
; GCN-O3-NEXT: Safe Stack instrumentation pass
More information about the llvm-commits
mailing list