- Fix emitAtomicCmpXchgFailureSet to support release/acquire (succ/fail) memory order.
- Remove stronger checks for cmpxch.
Implements http://wg21.link/p0418, related discussions in https://groups.google.com/g/thread-sanitizer/c/bTOVyLAo8p4/m/Y-2yks6ZLAAJ
A follow patch should attempt to implement the TSAN side of failure mode support.
Should the following assert in AtomicCmpXchgInst::Init() have been changed as well?
https://github.com/llvm/llvm-project/blob/dad5caa59e6b2bde8d6cf5b64a972c393c526c82/llvm/lib/IR/Instructions.cpp#L1561
I am observing a crash on an internal code base most likely caused by this.