[CGAtomic] Lift strong requirement for remaining compare_exchange combinations
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 7 May 2021 04:04:23 +0000 (21:04 -0700)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Fri, 7 May 2021 04:05:20 +0000 (21:05 -0700)
commit819e0d105e84c6081cfcfa0e38fd257b6124553a
tree7f76e351e751563f6923a3822570ff885d172e3e
parent05a89312d812bb5dcec6deca8f1e28a198ce1167
[CGAtomic] Lift strong requirement for remaining compare_exchange combinations

Follow up on 431e3138a and complete the other possible combinations.

Besides enforcing the new behavior, it also mitigates TSAN false positives when
combining orders that used to be stronger.
clang/lib/CodeGen/CGAtomic.cpp
clang/test/CodeGen/atomic-ops.c
clang/test/CodeGenOpenCL/atomic-ops.cl
llvm/lib/AsmParser/LLParser.cpp
llvm/lib/IR/Instructions.cpp
llvm/lib/IR/Verifier.cpp