[PATCH] D131019: Revert "[AMDGPU] Only count global-to-global as indirect accesses"
David Salinas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 2 13:49:00 PDT 2022
david-salinas updated this revision to Diff 449417.
david-salinas added a comment.
Reverting this change because it causes a performance degradtion in kernels with Local addr space.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D131019/new/
https://reviews.llvm.org/D131019
Files:
llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
llvm/test/CodeGen/AMDGPU/perfhint.ll
llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
Index: llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
===================================================================
--- llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
+++ llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
@@ -6,8 +6,8 @@
; SI-MINREG: NumSgprs: {{[1-9]$}}
; SI-MINREG: NumVgprs: {{[1-9]$}}
-; SI-MAXOCC: NumSgprs: {{[1-4]?[0-9]$}}
-; SI-MAXOCC: NumVgprs: {{[1-4]?[0-9]$}}
+; SI-MAXOCC: NumSgprs: {{[0-4][0-9]$}}
+; SI-MAXOCC: NumVgprs: {{[0-4][0-9]$}}
; stores may alias loads
; VI: NumSgprs: {{[0-9]$}}
Index: llvm/test/CodeGen/AMDGPU/perfhint.ll
===================================================================
--- llvm/test/CodeGen/AMDGPU/perfhint.ll
+++ llvm/test/CodeGen/AMDGPU/perfhint.ll
@@ -144,9 +144,10 @@
ret void
}
+; FIXME: This test was intended to be WaveLimiterHint : 0
; GCN-LABEL: {{^}}test_indirect_through_phi:
; GCN: MemoryBound: 0
-; GCN: WaveLimiterHint : 0
+; GCN: WaveLimiterHint : 1
define amdgpu_kernel void @test_indirect_through_phi(float addrspace(1)* %arg) {
bb:
%load = load float, float addrspace(1)* %arg, align 8
Index: llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
===================================================================
--- llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
+++ llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp
@@ -153,7 +153,7 @@
if (auto LD = dyn_cast<LoadInst>(V)) {
auto M = LD->getPointerOperand();
- if (isGlobalAddr(M)) {
+ if (isGlobalAddr(M) || isLocalAddr(M) || isConstantAddr(M)) {
LLVM_DEBUG(dbgs() << " is IA\n");
return true;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131019.449417.patch
Type: text/x-patch
Size: 1633 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220802/bccd7809/attachment.bin>
More information about the llvm-commits
mailing list