[clang] [Clang][HIP] Deprecate __hip_atomic_* builtins (PR #189897)
Sameer Sahasrabuddhe via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 3 01:48:35 PDT 2026
================
@@ -4565,6 +4565,91 @@ ExprResult Sema::AtomicOpsOverloaded(ExprResult TheCallResult,
Op);
}
+/// Deprecate __hip_atomic_* builtins in favour of __scoped_atomic_*
+/// equivalents. Provide a fixit when the scope is a compile-time constant and
----------------
ssahasra wrote:
I had a look at this. The preprocessor has a deprecation mechanism, but all deprecations are under a single flag. So we will not be able to provide an option to the user to selective silence the warning. This is important while we work on ROCm files that need to stop using the `__hip_atomic_` builtins. The enum option allows a much finer control over the warnings in Sema.
I don't think that we need to consider either option yet. It is enough to first deprecate `__hip_atomic_` builtins, because they constitute 99% of the direct or indirect uses of the macros. Once the builtins are gone, the macros will essentially have no valid use, and we can reassess if we need to inform the user.
https://github.com/llvm/llvm-project/pull/189897
More information about the cfe-commits
mailing list