diff options
author | Eli Friedman <efriedma@quicinc.com> | 2021-05-27 13:35:59 -0700 |
---|---|---|
committer | Eli Friedman <efriedma@quicinc.com> | 2021-05-28 12:47:40 -0700 |
commit | 0b3b0a727ad6bac089a57e3625dd9dbf4e6f5bde (patch) | |
tree | 9af1809b4bf2370631ff5640f01ffcbfd98bac3d /llvm/lib/Transforms/Utils/LoopUnroll.cpp | |
parent | 1a0e5d561ceb0af7a9ad356b0663dabac09d110f (diff) | |
download | llvm-0b3b0a727ad6bac089a57e3625dd9dbf4e6f5bde.zip llvm-0b3b0a727ad6bac089a57e3625dd9dbf4e6f5bde.tar.gz llvm-0b3b0a727ad6bac089a57e3625dd9dbf4e6f5bde.tar.bz2 |
[AArch64][RISCV] Make sure isel correctly honors failure orderings.
If a cmpxchg specifies acquire or seq_cst on failure, make sure we
generate code consistent with that ordering even if the success ordering
is not acquire/seq_cst.
At one point, it was ambiguous whether this sort of construct was valid,
but the C++ standad and LLVM now accept arbitrary combinations of
success/failure orderings.
This doesn't address the corresponding issue in AtomicExpand. (This was
reported as https://bugs.llvm.org/show_bug.cgi?id=33332 .)
Fixes https://bugs.llvm.org/show_bug.cgi?id=50512.
Differential Revision: https://reviews.llvm.org/D103284
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopUnroll.cpp')
0 files changed, 0 insertions, 0 deletions