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