[llvm] [AMDGPU] introduce S_WAITCNT_LDS_DIRECT in the memory legalizer (PR #150887)
Sameer Sahasrabuddhe via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 28 04:04:31 PDT 2025
================
@@ -1621,6 +1621,13 @@ let OtherPredicates = [HasImageInsts] in {
def S_WAIT_KMCNT_soft : SOPP_Pseudo <"s_soft_wait_kmcnt", (ins s16imm:$simm16), "$simm16">;
}
+// Represents the point at which a wave must wait for all outstanding direct loads to LDS.
+// Typically inserted by the memory legalizer and consumed by SIInsertWaitcnts.
+
+def S_WAITCNT_LDS_DIRECT : SPseudoInstSI<(outs), (ins)> {
----------------
ssahasra wrote:
I am now using `S_WAITCNT_lds_direct` .... it represents a wait count, for direct loads to LDS, but it's not real. Having it called `S_WAITCNT_something` like everything else near it helps reinforce that its relevance is to the SIInsertWaitcnts pass, where it is included by the `isWaitInstr()` predicate.
https://github.com/llvm/llvm-project/pull/150887
More information about the llvm-commits
mailing list