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
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to