aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Interpreter/InterpreterTest.cpp
diff options
context:
space:
mode:
authorJoseph Huber <huberjn@outlook.com>2024-01-18 14:43:09 -0600
committerGitHub <noreply@github.com>2024-01-18 14:43:09 -0600
commita9ca820529c69674e01d2e90cadc69e361ecf339 (patch)
treeead63e25f67c9901d3dbc1187dfbc521f03f4084 /clang/unittests/Interpreter/InterpreterTest.cpp
parentecd47811b755d13357085bcd7519a66d6c4d8e5c (diff)
downloadllvm-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