OSDN Git Service

[AMDGPU] Change Clang AMDGCN atomic inc/dec builtins to take unsigned values
authorSaiyedul Islam <Saiyedul.Islam@amd.com>
Tue, 7 Jul 2020 06:13:43 +0000 (06:13 +0000)
committerSaiyedul Islam <Saiyedul.Islam@amd.com>
Tue, 7 Jul 2020 06:36:25 +0000 (06:36 +0000)
commit0882c9d4fc49858338c9655154f1ad8357a8e516
tree3af55634aa6234843317adbd809e6fcd2b7c40f0
parent16f3d698f2afbbea43e0c3df81df6f2a640ce806
[AMDGPU] Change Clang AMDGCN atomic inc/dec builtins to take unsigned values

builtin_amdgcn_atomic_inc32(uint *Ptr, uint Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_inc64(uint64_t *Ptr, uint64_t Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_dec32(uint *Ptr, uint Val, unsigned MemoryOrdering, const char *SyncScope)
builtin_amdgcn_atomic_dec64(uint64_t *Ptr, uint64_t Val, unsigned MemoryOrdering, const char *SyncScope)

As AMDGCN IR instrinsic for atomic inc/dec does unsigned comparison,
these clang builtins should also take unsigned types instead of signed
int types.

Reviewed By: JonChesterfield

Differential Revision: https://reviews.llvm.org/D83121
clang/include/clang/Basic/BuiltinsAMDGPU.def
clang/test/CodeGenCXX/builtin-amdgcn-atomic-inc-dec.cpp
clang/test/Sema/builtin-amdgcn-atomic-inc-dec-failure.cpp
clang/test/SemaOpenCL/builtins-amdgcn-error.cl