diff options
author | Xiuli Pan <xiulipan@outlook.com> | 2016-01-26 04:03:48 +0000 |
---|---|---|
committer | Xiuli Pan <xiulipan@outlook.com> | 2016-01-26 04:03:48 +0000 |
commit | 3c885c3f72ad748abc835e15f4c3f1a289d852e9 (patch) | |
tree | d693114265f8950b754a89f3b8bea6d726220202 /include/clang/Basic/Builtins.def | |
parent | 3eb0f55c2626d98b95cee1c8f7574718d8d0f0cd (diff) |
Recommit: R258773 [OpenCL] Pipe builtin functions
Fix arc patch fuzz error.
Summary:
Support for the pipe built-in functions for OpenCL 2.0.
The pipe builtin functions may have infinite kinds of element types, one approach
would be to just generate calls that would always use generic types such as void*.
This patch is based on bader's opencl support patch on SPIR-V branch.
Reviewers: Anastasia, pekka.jaaskelainen
Subscribers: keryell, bader, cfe-commits
Differential Revision: http://reviews.llvm.org/D15914
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@258782 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/Builtins.def')
-rw-r--r-- | include/clang/Basic/Builtins.def | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/clang/Basic/Builtins.def b/include/clang/Basic/Builtins.def index 4f474ebe42..abedf10840 100644 --- a/include/clang/Basic/Builtins.def +++ b/include/clang/Basic/Builtins.def @@ -1252,6 +1252,32 @@ BUILTIN(__builtin___get_unsafe_stack_ptr, "v*", "Fn") BUILTIN(__builtin_nontemporal_store, "v.", "t") BUILTIN(__builtin_nontemporal_load, "v.", "t") +// OpenCL v2.0 s6.13.16, s9.17.3.5 - Pipe functions. +// We need the generic prototype, since the packet type could be anything. +LANGBUILTIN(read_pipe, "i.", "tn", OCLC_LANG) +LANGBUILTIN(write_pipe, "i.", "tn", OCLC_LANG) + +LANGBUILTIN(reserve_read_pipe, "i.", "tn", OCLC_LANG) +LANGBUILTIN(reserve_write_pipe, "i.", "tn", OCLC_LANG) + +LANGBUILTIN(commit_write_pipe, "v.", "tn", OCLC_LANG) +LANGBUILTIN(commit_read_pipe, "v.", "tn", OCLC_LANG) + +LANGBUILTIN(sub_group_reserve_read_pipe, "i.", "tn", OCLC_LANG) +LANGBUILTIN(sub_group_reserve_write_pipe, "i.", "tn", OCLC_LANG) + +LANGBUILTIN(sub_group_commit_read_pipe, "v.", "tn", OCLC_LANG) +LANGBUILTIN(sub_group_commit_write_pipe, "v.", "tn", OCLC_LANG) + +LANGBUILTIN(work_group_reserve_read_pipe, "i.", "tn", OCLC_LANG) +LANGBUILTIN(work_group_reserve_write_pipe, "i.", "tn", OCLC_LANG) + +LANGBUILTIN(work_group_commit_read_pipe, "v.", "tn", OCLC_LANG) +LANGBUILTIN(work_group_commit_write_pipe, "v.", "tn", OCLC_LANG) + +LANGBUILTIN(get_pipe_num_packets, "Ui.", "tn", OCLC_LANG) +LANGBUILTIN(get_pipe_max_packets, "Ui.", "tn", OCLC_LANG) + #undef BUILTIN #undef LIBBUILTIN #undef LANGBUILTIN |