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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits