aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/COFFObjectFile.cpp
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2023-12-11 17:55:07 -0500
committerGitHub <noreply@github.com>2023-12-11 17:55:07 -0500
commit876816ff183b6fe4e23ba2a01dfd9cd0c52bf056 (patch)
treee605fa8ca5a0117c6d27e149181164b1e35aa9ac /llvm/lib/Object/COFFObjectFile.cpp
parenta37fa2a8e1c827f1ff04b0b13b83cf97eefe74c0 (diff)
downloadllvm-876816ff183b6fe4e23ba2a01dfd9cd0c52bf056.zip
llvm-876816ff183b6fe4e23ba2a01dfd9cd0c52bf056.tar.gz
llvm-876816ff183b6fe4e23ba2a01dfd9cd0c52bf056.tar.bz2
[AArch64] Set MaxAtomicSizeInBitsSupported. (#74385)
This will result in larger atomic operations getting expanded to `__atomic_*` libcalls via AtomicExpandPass, which matches what Clang already does in the frontend. Additionally, adjust some comments, and remove partial code dealing with larger-than-128bit atomics, as it's now unreachable. AArch64 always supports 128-bit atomics, so there's no conditionals needed here. (Though: we really ought to require that a 128-bit load is available, not just a cmpxchg, which would mean conditioning on LSE2. But that's future work.) The arm64-irtranslator.ll test was adjusted as it was using an i258 type as a hack to avoid IR atomic lowering to test GlobalISel behavior. Pass -mattr=+lse and use i32, instead, to accomplish that goal in a way that continues to work.
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions