Author: Anastasia Stulova Date: 2020-07-10T19:04:49+01:00 New Revision: 8c8a2fd1f015525d048444610a6e27c66aa96293
URL: https://github.com/llvm/llvm-project/commit/8c8a2fd1f015525d048444610a6e27c66aa96293 DIFF: https://github.com/llvm/llvm-project/commit/8c8a2fd1f015525d048444610a6e27c66aa96293.diff LOG: [OpenCL] Fixed typo for ctor stub name in UsersManual Added: Modified: clang/docs/UsersManual.rst Removed: ################################################################################ diff --git a/clang/docs/UsersManual.rst b/clang/docs/UsersManual.rst index 4b4e28a8b65c..8615a77596b4 100644 --- a/clang/docs/UsersManual.rst +++ b/clang/docs/UsersManual.rst @@ -3132,7 +3132,7 @@ Global objects must be constructed before the first kernel using the global obje is executed and destroyed just after the last kernel using the program objects is executed. In OpenCL v2.0 drivers there is no specific API for invoking global constructors. However, an easy workaround would be to enqueue a constructor -initialization kernel that has a name ``@_GLOBAL__sub_I_<compiled file name>``. +initialization kernel that has a name ``_GLOBAL__sub_I_<compiled file name>``. This kernel is only present if there are any global objects to be initialized in the compiled binary. One way to check this is by passing ``CL_PROGRAM_KERNEL_NAMES`` to ``clGetProgramInfo`` (OpenCL v2.0 s5.8.7). @@ -3148,7 +3148,7 @@ before running any kernels in which the objects are used. clang -cl-std=clc++ test.cl If there are any global objects to be initialized, the final binary will contain -the ``@_GLOBAL__sub_I_test.cl`` kernel to be enqueued. +the ``_GLOBAL__sub_I_test.cl`` kernel to be enqueued. Global destructors can not be invoked in OpenCL v2.0 drivers. However, all memory used for program scope objects is released on ``clReleaseProgram``. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits