[PATCH] D151126: [AMDGPU] Don't flush vmcnt for loops with use/def pairs
Austin Kerbow via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 22 10:50:16 PDT 2023
kerbowa created this revision.
kerbowa added reviewers: bsaleil, rochauha, foad, nhaehnle.
Herald added subscribers: StephenFan, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl, arsenm.
Herald added a project: All.
kerbowa requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.
Conditions for hoisting vmcnt with flat instructions should be similar to VMEM.
If there are use/def pairs in a loop body we cannot guarantee that hosting the
waitcnt will be profitable. Better heuristics are needed to analyse whether
gains from avoiding waitcnt in loop bodys outweighs waiting for loads in the
preheader.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D151126
Files:
llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
llvm/test/CodeGen/AMDGPU/atomicrmw-nand.ll
llvm/test/CodeGen/AMDGPU/flat_atomics_i64_min_max_system.ll
llvm/test/CodeGen/AMDGPU/flat_atomics_min_max_system.ll
llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
llvm/test/CodeGen/AMDGPU/global-load-saddr-to-vaddr.ll
llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D151126.524392.patch
Type: text/x-patch
Size: 143806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230522/40693b3e/attachment.bin>
More information about the llvm-commits
mailing list