[llvm] 2aa6ced - [AMDGPU] Clarify amdgpu.cs.chain + init whole wave. NFC (#115452)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 14 01:10:37 PST 2024
Author: Diana Picus
Date: 2024-11-14T10:10:33+01:00
New Revision: 2aa6cedfa81dafa0cd909bab64979310f9ec5e3d
URL: https://github.com/llvm/llvm-project/commit/2aa6cedfa81dafa0cd909bab64979310f9ec5e3d
DIFF: https://github.com/llvm/llvm-project/commit/2aa6cedfa81dafa0cd909bab64979310f9ec5e3d.diff
LOG: [AMDGPU] Clarify amdgpu.cs.chain + init whole wave. NFC (#115452)
Add some docs clarifying how inactive lanes are handled in the
amdgpu_cs_chain calling convention when the llvm.amdgcn.init.whole.wave
intrinsic is used.
Added:
Modified:
llvm/docs/AMDGPUUsage.rst
Removed:
################################################################################
diff --git a/llvm/docs/AMDGPUUsage.rst b/llvm/docs/AMDGPUUsage.rst
index b76ebe3ec94d12..c180ca5fcebef3 100644
--- a/llvm/docs/AMDGPUUsage.rst
+++ b/llvm/docs/AMDGPUUsage.rst
@@ -1707,7 +1707,10 @@ The AMDGPU backend supports the following calling conventions:
Values in scalar registers as well as v0-v7 are not preserved. Values in
VGPRs starting at v8 are not preserved for the active lanes, but must be
- saved by the callee for inactive lanes when using WWM.
+ saved by the callee for inactive lanes when using WWM (a notable exception is
+ when the llvm.amdgcn.init.whole.wave intrinsic is used in the function - in this
+ case the backend assumes that there are no inactive lanes upon entry; any inactive
+ lanes that need to be preserved must be explicitly present in the IR).
Wave scratch is "empty" at function boundaries. There is no stack pointer input
or output value, but functions are free to use scratch starting from an initial
More information about the llvm-commits
mailing list