diff --git a/llvm/docs/AMDGPUUsage.rst b/llvm/docs/AMDGPUUsage.rst --- a/llvm/docs/AMDGPUUsage.rst +++ b/llvm/docs/AMDGPUUsage.rst @@ -1064,6 +1064,67 @@ ======================================= ========================================================== +Calling Conventions +------------------- + +The AMDGPU backend supports the following calling conventions: + + .. table:: AMDGPU Calling Conventions + :name: amdgpu-cc + + =============================== ========================================================== + Calling Convention Description + =============================== ========================================================== + ``ccc`` The C calling convention. Used by default. + See :ref:`amdgpu-amdhsa-function-call-convention-non-kernel-functions` + for more details. + + ``fastcc`` The fast calling convention. Mostly the same as the ``ccc``. + + ``coldcc`` The cold calling convention. Mostly the same as the ``ccc`. + + ``amdgpu_cs`` Used for Mesa/AMDPAL compute shaders. + ..TODO:: + Describe. + + ``amdgpu_es`` Used for AMDPAL shader stage before geometry shader if geometry is in + use. So either the domain (= tessellation evaluation) shader if + tessellation is in use, or otherwise the vertex shader. + ..TODO:: + Describe. + + ``amdgpu_gfx`` Used for AMD graphics targets. Functions with this calling convention + cannot be used as entry points. + ..TODO:: + Describe. + + ``amdgpu_gs`` Used for Mesa/AMDPAL geometry shaders. + ..TODO:: + Describe. + + ``amdgpu_hs`` Used for Mesa/AMDPAL hull shaders (= tessellation control shaders). + ..TODO:: + Describe. + + ``amdgpu_kernel`` See :ref:`_amdgpu-amdhsa-function-call-convention-kernel-functions` + + ``amdgpu_ls`` Used for AMDPAL vertex shader if tessellation is in use. + ..TODO:: + Describe. + + ``amdgpu_ps`` Used for Mesa/AMDPAL pixel shaders. + ..TODO:: + Describe. + + ``amdgpu_vs`` Used for Mesa/AMDPAL last shader stage before rasterization (vertex + shader if tessellation and geometry are not in use, or otherwise + copy shader if one is needed). + ..TODO:: + Describe. + + =============================== ========================================================== + + .. _amdgpu-elf-code-object: ELF Code Object