diff --git a/clang/docs/OpenCLSupport.rst b/clang/docs/OpenCLSupport.rst --- a/clang/docs/OpenCLSupport.rst +++ b/clang/docs/OpenCLSupport.rst @@ -112,6 +112,28 @@ `_ or via `Bugzilla `__. +Fast builtin function declarations +---------------------------------- + +In addition to regular header includes with builtin types and functions using +``-finclude-default-header`` explained in :doc:`UsersManual`, clang +supports a fast mechanism to declare builtin functions with +``-fdeclare-opencl-builtins``. This does not declare the builtin types and +therefore it has to be used in combination with ``-finclude-default-header`` +if full functionality is required. + +**Example of Use**: + + .. code-block:: console + + $ clang -Xclang -finclude-default-header test.cl + +Note that this is a frontend-only flag and therefore it requires the use of +flags that forward options to the frontend, e.g. ``-cc1`` or ``-Xclang``. + +As this feature is still in experimental phase some changes might still occur +on the command line interface side. + C++ libraries for OpenCL ------------------------ diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst --- a/clang/docs/UsersManual.rst +++ b/clang/docs/UsersManual.rst @@ -3021,6 +3021,11 @@ $ clang -target spir-unknown-unknown -c -emit-llvm -Xclang -finclude-default-header -fmodules -fimplicit-module-maps -fmodules-cache-path= test.cl +Another way to circumvent long parsing latency for the OpenCL builtin +declarations is to use mechanism enabled by ``-fdeclare-opencl-builtins`` flag +that is available as an experimental feature (see more information in +:doc:`OpenCLSupport`). + OpenCL Extensions -----------------