yaxunl added inline comments.
================ Comment at: clang/test/CodeGenCUDA/atomic-ops.cu:14 +// CHECK: load atomic i32, i32* {{%[0-9]+}} syncscope("singlethread-one-as") monotonic, align 4 +// CHECK: store i32 {{%[0-9]+}}, i32* %{{.*}}, align 4 +// CHECK: cmpxchg weak i32* {{%[0-9]+}}, i32 {{%[0-9]+}}, i32 {{%[0-9]+}} syncscope("singlethread-one-as") monotonic monotonic, align 4 ---------------- should have atomic, syncscope and monotonic. same as below ================ Comment at: clang/test/CodeGenCUDA/atomic-ops.cu:31 + __hip_atomic_store(ptr, val, __ATOMIC_RELAXED, __HIP_MEMORY_SCOPE_SINGLETHREAD); + flag = __hip_atomic_compare_exchange_weak(ptr, ptr2, val, desired, __ATOMIC_RELAXED, __HIP_MEMORY_SCOPE_SINGLETHREAD); return flag ? val : desired; ---------------- the signature of `__hip_atomic_compare_exchange_weak` is the same as `__hip_atomic_compare_exchange_strong` and should be called with the same arguments. It should end up with one atomic cmpxchg instruction in IR. same as below ================ Comment at: clang/test/SemaCUDA/atomic-ops.cu:10 + val = __hip_atomic_load(pi32, 0, 0); // expected-error {{synchronization scope argument to atomic operation is invalid}} + val = __hip_atomic_load(pi32, 0, __HIP_MEMORY_SCOPE_SINGLETHREAD); + val = __hip_atomic_load(pi32, 0, __HIP_MEMORY_SCOPE_WAVEFRONT); ---------------- should use predefined macros for memory order, e.g. __ATOMIC_RELAXED. same as below ================ Comment at: clang/test/SemaCUDA/atomic-ops.cu:67 + flag = __hip_atomic_compare_exchange_weak(ptr, 0, 0, 0, 0, __HIP_MEMORY_SCOPE_SYSTEM); // expected-warning {{null passed to a callee that requires a non-null argument}} + flag = __hip_atomic_compare_exchange_weak(ptr, ptr2, val, desired, 0, __HIP_MEMORY_SCOPE_SYSTEM); + flag = __hip_atomic_compare_exchange_weak(ptr, ptr2, val, desired, 1, __HIP_MEMORY_SCOPE_SINGLETHREAD); ---------------- signature is wrong. see above comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114553/new/ https://reviews.llvm.org/D114553 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits