diff --git a/clang/docs/OpenCLSupport.rst b/clang/docs/OpenCLSupport.rst index 7303c2b4e645b..0a4f81cf5ca11 100644 --- a/clang/docs/OpenCLSupport.rst +++ b/clang/docs/OpenCLSupport.rst @@ -17,8 +17,8 @@ OpenCL Support ================== -Clang has complete support of OpenCL C versions from 1.0 to 2.0. -There is an ongoing work to support :ref:`OpenCL 3.0 `. +Clang has complete support of OpenCL C versions from 1.0 to 3.0. +Support for OpenCL 3.0 is in experimental phase (:ref:`OpenCL 3.0 `). Clang also supports :ref:`the C++ for OpenCL kernel language `. @@ -371,43 +371,43 @@ OpenCL C 3.0 Implementation Status The following table provides an overview of features in OpenCL C 3.0 and their implementation status. -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Category | Feature | Status | Reviews | -+==============================+=========================+=========================================+======================+==============================================================================================+ -| Command line interface | New value for ``-cl-std`` flag | :good:`done` | https://reviews.llvm.org/D88300 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Predefined macros | New version macro | :good:`done` | https://reviews.llvm.org/D88300 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Predefined macros | Feature macros | :good:`done` | https://reviews.llvm.org/D95776 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Generic address space | :good:`done` | https://reviews.llvm.org/D95778 and https://reviews.llvm.org/D103401 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Builtin function overloads with generic address space | :good:`done` | https://reviews.llvm.org/D105526 and https://reviews.llvm.org/D107769 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Program scope variables in global memory | :good:`done` | https://reviews.llvm.org/D103191 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | 3D image writes including builtin functions | :part:`worked on` | https://reviews.llvm.org/D106260 (frontend) | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | read_write images including builtin functions | :good:`done` | https://reviews.llvm.org/D104915 (frontend) and https://reviews.llvm.org/D107539 (functions) | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | C11 atomics memory scopes, ordering and builtin function | :good:`done` | https://reviews.llvm.org/D106111 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Blocks and Device-side kernel enqueue including builtin functions | :part:`worked on` | https://reviews.llvm.org/D118605 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Pipes including builtin functions | :good:`done` | https://reviews.llvm.org/D107154 (frontend) and https://reviews.llvm.org/D105858 (functions) | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Work group collective builtin functions | :good:`done` | https://reviews.llvm.org/D105858 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Image types and builtin functions | :good:`done` | https://reviews.llvm.org/D103911 (frontend) and https://reviews.llvm.org/D107539 (functions) | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| Feature optionality | Double precision floating point type | :good:`done` | https://reviews.llvm.org/D96524 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| New functionality | RGBA vector components | :good:`done` | https://reviews.llvm.org/D99969 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| New functionality | Subgroup functions | :part:`worked on` | https://reviews.llvm.org/D105858 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ -| New functionality | Atomic mem scopes: subgroup, all devices including functions | :part:`worked on` | https://reviews.llvm.org/D103241 | -+------------------------------+-------------------------+-----------------------------------------+----------------------+----------------------------------------------------------------------------------------------+ ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Category | Feature | Status | Reviews | ++==============================+=========================+=========================================+======================+================================================================================================================================+ +| Command line interface | New value for ``-cl-std`` flag | :good:`done` | https://reviews.llvm.org/D88300 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Predefined macros | New version macro | :good:`done` | https://reviews.llvm.org/D88300 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Predefined macros | Feature macros | :good:`done` | https://reviews.llvm.org/D95776 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Generic address space | :good:`done` | https://reviews.llvm.org/D95778 and https://reviews.llvm.org/D103401 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Builtin function overloads with generic address space | :good:`done` | https://reviews.llvm.org/D105526, https://reviews.llvm.org/D107769 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Program scope variables in global memory | :good:`done` | https://reviews.llvm.org/D103191 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | 3D image writes including builtin functions | :good:`done` | https://reviews.llvm.org/D106260 (frontend) | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | read_write images including builtin functions | :good:`done` | https://reviews.llvm.org/D104915 (frontend) and https://reviews.llvm.org/D107539, https://reviews.llvm.org/D117899 (functions) | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | C11 atomics memory scopes, ordering and builtin function | :good:`done` | https://reviews.llvm.org/D106111, https://reviews.llvm.org/D119420 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Blocks and Device-side kernel enqueue including builtin functions | :good:`done` | https://reviews.llvm.org/D115640, https://reviews.llvm.org/D118605 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Pipes including builtin functions | :good:`done` | https://reviews.llvm.org/D107154 (frontend) and https://reviews.llvm.org/D105858 (functions) | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Work group collective builtin functions | :good:`done` | https://reviews.llvm.org/D105858 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Image types and builtin functions | :good:`done` | https://reviews.llvm.org/D103911 (frontend) and https://reviews.llvm.org/D107539 (functions) | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| Feature optionality | Double precision floating point type | :good:`done` | https://reviews.llvm.org/D96524 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| New functionality | RGBA vector components | :good:`done` | https://reviews.llvm.org/D99969 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| New functionality | Subgroup functions | :good:`done` | https://reviews.llvm.org/D105858, https://reviews.llvm.org/D118999 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| New functionality | Atomic mem scopes: subgroup, all devices including functions | :good:`done` | https://reviews.llvm.org/D103241 | ++------------------------------+-------------------------+-----------------------------------------+----------------------+--------------------------------------------------------------------------------------------------------------------------------+ .. _opencl_experimenal: diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst index 1df96296cb8ac..981909aa16eaf 100644 --- a/clang/docs/UsersManual.rst +++ b/clang/docs/UsersManual.rst @@ -3060,9 +3060,8 @@ profile. Starting from clang 9 a C++ mode is available for OpenCL (see :ref:`C++ for OpenCL `). -There is ongoing support for OpenCL v3.0 that is documented along with other -experimental functionality and features in development on :doc:`OpenCLSupport` -page. +OpenCL v3.0 support is complete but it remains in experimental state, see more +details about the experimental features in :doc:`OpenCLSupport` page. OpenCL Specific Options -----------------------