diff options
author | James Y Knight <jyknight@google.com> | 2023-12-11 17:55:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-11 17:55:07 -0500 |
commit | 876816ff183b6fe4e23ba2a01dfd9cd0c52bf056 (patch) | |
tree | e605fa8ca5a0117c6d27e149181164b1e35aa9ac /llvm/lib/Object/COFFObjectFile.cpp | |
parent | a37fa2a8e1c827f1ff04b0b13b83cf97eefe74c0 (diff) | |
download | llvm-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