llvm-project/clang/test/SemaOpenCL
Saiyedul Islam 675cefbf60 [AMDGPU] Introduce Clang builtins to be mapped to AMDGCN atomic inc/dec intrinsics
Summary:
__builtin_amdgcn_atomic_inc32(int *Ptr, int Val, unsigned MemoryOrdering, const char *SyncScope)
__builtin_amdgcn_atomic_inc64(int64_t *Ptr, int64_t Val, unsigned MemoryOrdering, const char *SyncScope)
__builtin_amdgcn_atomic_dec32(int *Ptr, int Val, unsigned MemoryOrdering, const char *SyncScope)
__builtin_amdgcn_atomic_dec64(int64_t *Ptr, int64_t Val, unsigned MemoryOrdering, const char *SyncScope)

First and second arguments gets transparently passed to the amdgcn atomic
inc/dec intrinsic. Fifth argument of the intrinsic is set as true if the
first argument of the builtin is a volatile pointer. The third argument of
this builtin is one of the memory-ordering specifiers ATOMIC_ACQUIRE,
ATOMIC_RELEASE, ATOMIC_ACQ_REL, or ATOMIC_SEQ_CST following C++11 memory
model semantics. This is mapped to corresponding LLVM atomic memory ordering
for the atomic inc/dec instruction using CLANG atomic C ABI. The fourth
argument is an AMDGPU-specific synchronization scope defined as string.

Reviewers: arsenm, sameerds, JonChesterfield, jdoerfert

Reviewed By: arsenm, sameerds

Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, jfb, kerbowa, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80804
2020-06-09 17:02:58 +00:00
..
access-qualifier.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
address-spaces-conversions-cl2.0.cl [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
address-spaces.cl [Sema][C++] Propagate conversion kind to specialize the diagnostics 2020-02-25 16:05:37 +00:00
amdgpu-attrs.cl [AMDGPU] Allow using integral non-type template parameters 2019-02-26 18:49:36 +00:00
arithmetic-conversions.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
arm-integer-dot-product.cl [OpenCL] Add support for the cl_arm_integer_dot_product extensions 2019-05-24 14:53:52 +00:00
array-init.cl [NFC] Fix line endings in OpenCL tests 2019-05-17 09:25:38 +00:00
array-parameters.cl
as_type.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
atomic-init.cl
atomic-ops.cl [OpenCL] Fix inconsistency between opencl and c11 atomic fetch max/min 2019-12-27 11:29:04 -05:00
block-array-capturing.cl Revert r326937 "[OpenCL] Remove block invoke function from emitted block literal struct" 2018-10-02 13:02:24 +00:00
bool-vectors.cl
builtin.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
builtins-amdgcn-error-ci.cl AMDGPU: Add DS GWS sema builtins 2019-06-20 21:33:57 +00:00
builtins-amdgcn-error-f16.cl
builtins-amdgcn-error-flat-address-space.cl AMDGPU: Add builtins for is_shared/is_private 2019-09-05 03:00:43 +00:00
builtins-amdgcn-error-gfx9.cl
builtins-amdgcn-error-gfx10-param.cl AMDGPU: Add some missing builtins 2019-07-17 00:01:03 +00:00
builtins-amdgcn-error-gfx10.cl AMDGPU: Add some missing builtins 2019-07-17 00:01:03 +00:00
builtins-amdgcn-error-gfx908-param.cl Add missing clang tests for 6d614a82a4 (AMDGPU MFMA built-ins) 2020-01-28 04:41:21 -05:00
builtins-amdgcn-error-vi.cl [AMDGPU] rename vi-insts into gfx8-insts 2019-04-05 18:25:00 +00:00
builtins-amdgcn-error.cl [AMDGPU] Introduce Clang builtins to be mapped to AMDGCN atomic inc/dec intrinsics 2020-06-09 17:02:58 +00:00
cl20-device-side-enqueue.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
clang-builtin-version.cl Revert "We allow implicit function declarations as an extension in all C dialects. Remove OpenCL special case." 2018-09-24 14:21:56 +00:00
clk_event_t.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
cond.cl
convergent.cl
endian-attr.cl
event_t.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
event_t_overload.cl [Sema][OpenCL] Make address space conversions a bit stricter. 2019-05-08 14:23:49 +00:00
ext_vectors.cl
extension-begin.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
extension-begin.h [OpenCL] Fix serialization of OpenCLExtensionDecls 2018-10-29 11:14:01 +00:00
extension-version.cl [OpenCL] Add cl_khr_extended_subgroup extensions. 2020-06-04 13:29:30 +01:00
extensions.cl [OpenCL] Rename lang mode flag for C++ mode 2019-07-25 11:04:29 +00:00
fdeclare-opencl-builtins.cl [OpenCL] Add sub-group builtin functions 2020-04-02 13:18:56 +01:00
format-strings-fixit.cl [OpenGL] Fix test on PPC after r352540 2019-01-30 11:24:04 +00:00
func.cl
half.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
images.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
init.cl
intel-subgroup-avc-ext-types.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-assignment-constant-address-space.cl
invalid-block.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-constant.cl
invalid-image.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-kernel-attrs.cl Add lifetime categories attributes 2019-07-25 17:50:51 +00:00
invalid-kernel-parameters.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-kernel.cl
invalid-pipe-builtin-cl2.0.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
invalid-pipes-cl2.0.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
lit.local.cfg
logical-ops.cl
multistep-explicit-cast.cl
nosvm.cl
null_literal.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
null_queue.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
numbered-address-space.cl [OpenCL] Fixed printing of __private in AMDGPU test 2019-12-27 17:08:42 +00:00
pipes-1.2-negative.cl
predefined-expr.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
printf-format-string-warnings.cl OpenCL: Use length modifier for warning on vector printf arguments 2019-01-29 20:49:54 +00:00
printf-format-strings.cl [AST] Use PrintingPolicy for format string diagnosis 2020-04-28 23:43:48 +01:00
queue_t_overload.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
sampler_t.cl [OpenCL] Move addr space deduction to Sema. 2019-11-27 12:44:42 +00:00
sampler_t_overload.cl
shifts.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
sizeof.cl
storageclass-cl20.cl
storageclass.cl
str_literals.cl
to_addr_builtin.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
types.cl
unroll-hint.cl
unsupported.cl
vec_compare.cl
vec_step.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
vector_conv_invalid.cl [OpenCL] Pretty print __private addr space 2019-12-27 13:42:07 +00:00
vector_inc_dec_ops.cl
vector_literals_invalid.cl
vector_swizzle_length.cl
warn-missing-prototypes.cl Suggestions to fix -Wmissing-{prototypes,variable-declarations} 2019-06-18 22:57:08 +00:00