[all-commits] [llvm/llvm-project] 95ffad: [AMDGCN] pre-checkin test for LDS DMA and release ...
Sameer Sahasrabuddhe via All-commits
all-commits at lists.llvm.org
Wed Jul 9 01:19:26 PDT 2025
Branch: refs/heads/users/ssahasra/waitcnt-lds-direct
Home: https://github.com/llvm/llvm-project
Commit: 95ffad8e0c22f261999f8a87abde8592c0596395
https://github.com/llvm/llvm-project/commit/95ffad8e0c22f261999f8a87abde8592c0596395
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
Log Message:
-----------
[AMDGCN] pre-checkin test for LDS DMA and release operations
Commit: 65562b2e1ba61c1530d4e88f4138e463f9f08a37
https://github.com/llvm/llvm-project/commit/65562b2e1ba61c1530d4e88f4138e463f9f08a37
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-07-09 (Wed, 09 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/lds-dma-workgroup-release.ll
Log Message:
-----------
[AMDGPU] efficiently wait for direct loads to LDS at all scopes
Currently, the memory legalizer does not generate any wait on vmcnt at workgroup
scope. This is incorrect because direct loads to LDS are tracked using vmcnt and
they need to be released properly at workgroup scope.
The memory legalizer was previously updated to always emit a soft wait
instruction even when all counts are trivially ~0. SIInsertWaitcnts now examines
pending loads to LDS at each S_WAITCNT_soft instruction. If such instructions
exist, the vmcnt (which could be ~0) is upgraded to a value that wiats for any
such pending loads to LDS. After that, any soft instruction that has only
trivial ~0 counts is automatically dropped.
Thus, common programs that do not use direct loads to LDS remain unaffected, but
programs that do use such loads see a correct and efficient vmcnt even at
workgroup scope.
Compare: https://github.com/llvm/llvm-project/compare/9b0cdd6e9140...65562b2e1ba6
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list