[PATCH] D96860: [OpenCL] Add declarations with enum/typedef args
Anastasia Stulova via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 19 06:54:38 PST 2021
Anastasia added inline comments.
================
Comment at: clang/lib/Sema/OpenCLBuiltins.td:932
+let MinVersion = CL20 in {
+ def : Builtin<"get_fence", [MemFenceFlags, PointerType<Void, GenericAS>]>;
+ def : Builtin<"get_fence", [MemFenceFlags, PointerType<ConstType<Void>, GenericAS>]>;
----------------
Btw, I am guessing you are matching the behavior of `opencl-c.h`, but however it doesn't seem entirely conformant.
`cl_mem_fence_flags get_fence(gentype *ptr)`
So I guess we should have implemented these as other functions from `Table 22. Built-in Address Space Qualifier Functions` in clang? But since the void pointer is only used as a parameter and not return value I doubt this is customer visible. Should we add a comment or something?
================
Comment at: clang/test/SemaOpenCL/fdeclare-opencl-builtins.cl:185
+#if !defined(NO_HEADER) && (defined(__OPENCL_CPP_VERSION__) || __OPENCL_C_VERSION__ >= 200)
+ sub_group_barrier(CLK_GLOBAL_MEM_FENCE, memory_scope_device);
+#endif
----------------
Should `work_group_barrier` and fences also be added to the testing?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96860/new/
https://reviews.llvm.org/D96860
More information about the cfe-commits
mailing list