Skip to content

Commit 9723fc1

Browse files
author
Anastasia Stulova
committed
[OpenCL][Docs] Release 13 notes.
Major OpenCL functionality added in release 13. Differential Revision: https://reviews.llvm.org/D109327
1 parent f536522 commit 9723fc1

File tree

1 file changed

+78
-3
lines changed

1 file changed

+78
-3
lines changed

clang/docs/ReleaseNotes.rst

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,85 @@ C++2b Feature Support
150150
Objective-C Language Changes in Clang
151151
-------------------------------------
152152

153-
OpenCL C Language Changes in Clang
154-
----------------------------------
153+
OpenCL Kernel Language Changes in Clang
154+
---------------------------------------
155155

156-
...
156+
157+
Command-line interface changes:
158+
159+
- All builtin types, macros and function declarations are now added by default
160+
without any command-line flags. A flag is provided ``-cl-no-stdinc`` to
161+
suppress the default declarations non-native to the compiler.
162+
163+
- Clang now compiles using OpenCL C version 1.2 by default if no version is
164+
specified explicitly from the command line.
165+
166+
- Clang now supports ``.clcpp`` file extension for sources written in
167+
C++ for OpenCL.
168+
169+
- Clang now accepts ``-cl-std=clc++1.0`` that sets C++ for OpenCL to
170+
the version 1.0 explicitly.
171+
172+
Misc common changes:
173+
174+
- Added ``NULL`` definition in internal headers for standards prior to the
175+
version 2.0.
176+
177+
- Simplified use of pragma in extensions for ``double``, images, atomics,
178+
subgroups, Arm dot product extension. There are less cases where extension
179+
pragma is now required by clang to compile kernel sources.
180+
181+
- Added missing ``as_size``/``as_ptrdiff``/``as_intptr``/``as_uintptr_t``
182+
operators to internal headers.
183+
184+
- Added new builtin function for ndrange, ``cl_khr_subgroup_extended_types``,
185+
``cl_khr_subgroup_non_uniform_vote``, ``cl_khr_subgroup_ballot``,
186+
``cl_khr_subgroup_non_uniform_arithmetic``, ``cl_khr_subgroup_shuffle``,
187+
``cl_khr_subgroup_shuffle_relative``, ``cl_khr_subgroup_clustered_reduce``
188+
into the default Tablegen-based header.
189+
190+
- Added online documentation for Tablegen-based header, OpenCL 3.0 support,
191+
new clang extensions.
192+
193+
- Fixed OpenCL C language version and SPIR address space reporting in DWARF.
194+
195+
New extensions:
196+
197+
- ``cl_khr_integer_dot_product`` for dedicated support of dot product.
198+
199+
- ``cl_khr_extended_bit_ops`` for dedicated support of extra binary operations.
200+
201+
- ``__cl_clang_bitfields`` for use of bit-fields in the kernel code.
202+
203+
- ``__cl_clang_non_portable_kernel_param_types`` for relaxing some restrictions
204+
to types of kernel parameters.
205+
206+
OpenCL C 3.0 related changes:
207+
208+
- Added parsing support for the optionality of generic address space, images
209+
(including 3d writes and ``read_write`` access qualifier), pipes, program
210+
scope variables, double-precision floating-point support.
211+
212+
- Added optionality support for builtin functions (in ``opencl-c.h`` header)
213+
for generic address space, C11 atomics.
214+
215+
- Added ``memory_scope_all_devices`` enum for the atomics in internal headers.
216+
217+
- Enabled use of ``.rgba`` vector components.
218+
219+
C++ for OpenCL related changes:
220+
221+
- Added ``__remove_address_space`` metaprogramming utility in internal headers
222+
to allow removing address spaces from types.
223+
224+
- Improved overloads resolution logic for constructors wrt address spaces.
225+
226+
- Improved diagnostics of OpenCL specific types and address space qualified
227+
types in ``reinterpret_cast`` and template functions.
228+
229+
- Fixed ``NULL`` macro in internal headers to be compatible with C++.
230+
231+
- Fixed use of ``half`` type.
157232

158233
ABI Changes in Clang
159234
--------------------

0 commit comments

Comments
 (0)