diff options
author | Joseph Huber <huberjn@outlook.com> | 2024-01-18 14:43:09 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-18 14:43:09 -0600 |
commit | a9ca820529c69674e01d2e90cadc69e361ecf339 (patch) | |
tree | ead63e25f67c9901d3dbc1187dfbc521f03f4084 /clang/unittests/Interpreter/InterpreterTest.cpp | |
parent | ecd47811b755d13357085bcd7519a66d6c4d8e5c (diff) | |
download | llvm-a9ca820529c69674e01d2e90cadc69e361ecf339.zip llvm-a9ca820529c69674e01d2e90cadc69e361ecf339.tar.gz llvm-a9ca820529c69674e01d2e90cadc69e361ecf339.tar.bz2 |
[libc] Use clang's scoped atomics if available from the compiler (#74769)
Summary:
A recent patch in https://github.com/llvm/llvm-project/pull/72280
provided `clang` the ability to easily use scoped atomics. These are a
special modifier on atomics that some backends support. They are
intended for providing more fine-grained control over the affected
memory of an atomic action. The default is a "system" scope, e.g.
coherence with the GPU and CPU memory on a heterogeneous system. If we
use "device" scope, that implies that the memory is only ordered with
respect to the current GPU.
These builtins are direct replacements for the GCC atomic builitins in
cases where the backend doesn't do anything with the information, so
these should be a drop-in. This introduces some noise, but hopefully it
isn't too contentious.
Diffstat (limited to 'clang/unittests/Interpreter/InterpreterTest.cpp')
0 files changed, 0 insertions, 0 deletions