]> granicus.if.org Git - clang/commit
[OpenCL] An implementation of device side enqueue (DSE) from OpenCL v2.0 s6.13.17.
authorAnastasia Stulova <anastasia.stulova@arm.com>
Tue, 5 Jul 2016 11:31:24 +0000 (11:31 +0000)
committerAnastasia Stulova <anastasia.stulova@arm.com>
Tue, 5 Jul 2016 11:31:24 +0000 (11:31 +0000)
commit2a6f449fc2acf3e58ce61461c83dacc727e77ec3
tree91d2aca892596b7c0e3a39992ccfee95582e8292
parent98ff6b10199cc24ff338f96cfa94b3e32572cf0c
[OpenCL] An implementation of device side enqueue (DSE) from OpenCL v2.0 s6.13.17.

- Added new Builtins: enqueue_kernel, get_kernel_work_group_size
and get_kernel_preferred_work_group_size_multiple.

These Builtins use custom check to diagnose parameters of the passed Blocks
i. e. variable number of 'local void*' type params, and check different
overloads specified in Table 6.31 of OpenCL v2.0.

- IR is generated as an internal library call for each OpenCL Builtin,
reusing ObjC Block implementation.

Review: http://reviews.llvm.org/D20249

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274540 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/Type.h
include/clang/Basic/Builtins.def
include/clang/Basic/DiagnosticSemaKinds.td
lib/CodeGen/CGBuiltin.cpp
lib/Headers/opencl-c.h
lib/Sema/SemaChecking.cpp
lib/Sema/SemaInit.cpp
test/CodeGenOpenCL/cl20-device-side-enqueue.cl [new file with mode: 0644]
test/SemaOpenCL/cl20-device-side-enqueue.cl [new file with mode: 0644]