diff options
Diffstat (limited to 'clang/include/clang/Basic/AttrDocs.td')
-rw-r--r-- | clang/include/clang/Basic/AttrDocs.td | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td index 2c07cd09b0d5..d61f96ade557 100644 --- a/clang/include/clang/Basic/AttrDocs.td +++ b/clang/include/clang/Basic/AttrDocs.td @@ -2741,6 +2741,33 @@ An error will be given if: }]; } +def AMDGPUMaxNumWorkGroupsDocs : Documentation { + let Category = DocCatAMDGPUAttributes; + let Content = [{ +This attribute specifies the max number of work groups when the kernel +is dispatched. + +Clang supports the +``__attribute__((amdgpu_max_num_work_groups(<x>, <y>, <z>)))`` or +``[[clang::amdgpu_max_num_work_groups(<x>, <y>, <z>)]]`` attribute for the +AMDGPU target. This attribute may be attached to HIP or OpenCL kernel function +definitions and is an optimization hint. + +The ``<x>`` parameter specifies the maximum number of work groups in the x dimension. +Similarly ``<y>`` and ``<z>`` are for the y and z dimensions respectively. +Each of the three values must be greater than 0 when provided. The ``<x>`` parameter +is required, while ``<y>`` and ``<z>`` are optional with default value of 1. + +If specified, the AMDGPU target backend might be able to produce better machine +code. + +An error will be given if: + - Specified values violate subtarget specifications; + - Specified values are not compatible with values provided through other + attributes. + }]; +} + def DocCatCallingConvs : DocumentationCategory<"Calling Conventions"> { let Content = [{ Clang supports several different calling conventions, depending on the target |