[all-commits] [llvm/llvm-project] 9c26f3: [libclc] Add generic implementation of some atomic...
Wenju He via All-commits
all-commits at lists.llvm.org
Thu Jul 17 17:09:35 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9c26f37ce34de3be3550cbd67fcea534721724fd
https://github.com/llvm/llvm-project/commit/9c26f37ce34de3be3550cbd67fcea534721724fd
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-18 (Fri, 18 Jul 2025)
Changed paths:
A libclc/clc/include/clc/atomic/atomic_decl.inc
A libclc/clc/include/clc/atomic/clc_atomic_compare_exchange.h
A libclc/clc/include/clc/atomic/clc_atomic_dec.h
A libclc/clc/include/clc/atomic/clc_atomic_exchange.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_add.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_and.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_max.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_min.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_or.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_sub.h
A libclc/clc/include/clc/atomic/clc_atomic_fetch_xor.h
A libclc/clc/include/clc/atomic/clc_atomic_inc.h
A libclc/clc/include/clc/atomic/clc_atomic_load.h
A libclc/clc/include/clc/atomic/clc_atomic_store.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.cl
A libclc/clc/lib/generic/atomic/clc_atomic_compare_exchange.inc
A libclc/clc/lib/generic/atomic/clc_atomic_dec.cl
A libclc/clc/lib/generic/atomic/clc_atomic_def.inc
A libclc/clc/lib/generic/atomic/clc_atomic_exchange.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_add.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_and.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_max.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_min.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_or.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_sub.cl
A libclc/clc/lib/generic/atomic/clc_atomic_fetch_xor.cl
A libclc/clc/lib/generic/atomic/clc_atomic_inc.cl
A libclc/clc/lib/generic/atomic/clc_atomic_load.cl
A libclc/clc/lib/generic/atomic/clc_atomic_store.cl
M libclc/opencl/include/clc/opencl/atomic/atomic_add.h
M libclc/opencl/include/clc/opencl/atomic/atomic_and.h
A libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_strong.h
A libclc/opencl/include/clc/opencl/atomic/atomic_compare_exchange_weak.h
M libclc/opencl/include/clc/opencl/atomic/atomic_decl.inc
A libclc/opencl/include/clc/opencl/atomic/atomic_decl_legacy.inc
A libclc/opencl/include/clc/opencl/atomic/atomic_exchange.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_add.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_and.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_max.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_min.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_or.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_sub.h
A libclc/opencl/include/clc/opencl/atomic/atomic_fetch_xor.h
A libclc/opencl/include/clc/opencl/atomic/atomic_load.h
M libclc/opencl/include/clc/opencl/atomic/atomic_max.h
M libclc/opencl/include/clc/opencl/atomic/atomic_min.h
M libclc/opencl/include/clc/opencl/atomic/atomic_or.h
A libclc/opencl/include/clc/opencl/atomic/atomic_store.h
M libclc/opencl/include/clc/opencl/atomic/atomic_sub.h
M libclc/opencl/include/clc/opencl/atomic/atomic_xchg.h
M libclc/opencl/include/clc/opencl/atomic/atomic_xor.h
M libclc/opencl/lib/generic/SOURCES
A libclc/opencl/lib/generic/atomic/atomic_compare_exchange_strong.cl
A libclc/opencl/lib/generic/atomic/atomic_compare_exchange_weak.cl
M libclc/opencl/lib/generic/atomic/atomic_dec.cl
A libclc/opencl/lib/generic/atomic/atomic_def.inc
A libclc/opencl/lib/generic/atomic/atomic_exchange.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_add.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_and.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_max.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_min.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_or.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_sub.cl
A libclc/opencl/lib/generic/atomic/atomic_fetch_xor.cl
M libclc/opencl/lib/generic/atomic/atomic_inc.cl
A libclc/opencl/lib/generic/atomic/atomic_inc_dec.inc
A libclc/opencl/lib/generic/atomic/atomic_load.cl
A libclc/opencl/lib/generic/atomic/atomic_store.cl
Log Message:
-----------
[libclc] Add generic implementation of some atomic functions in OpenCL spec section 6.15.12.7 (#146814)
Add corresponding clc functions, which are implemented with clang
__scoped_atomic builtins. OpenCL functions are implemented as a wrapper
over clc functions.
Also change legacy atomic_inc and atomic_dec to re-use the newly added
clc_atomic_inc/dec implementations. llvm-diff only no change to
atomic_inc and atomic_dec in bitcode.
Notes:
* Generic OpenCL built-ins functions uses __ATOMIC_SEQ_CST and
__MEMORY_SCOPE_DEVICE for memory order and memory scope parameters.
* OpenCL atomic_*_explicit, atomic_flag* built-ins are not implemented
yet.
* OpenCL built-ins of atomic_intptr_t, atomic_uintptr_t, atomic_size_t
and atomic_ptrdiff_t types are not implemented yet.
* llvm-diff shows no change to nvptx64--nvidiacl.bc and
amdgcn--amdhsa.bc since __opencl_c_atomic_order_seq_cst and
__opencl_c_atomic_scope_device are not defined in these two targets.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list