[PATCH] D57854: [InstCombine] Optimize `atomicrmw <op>, 0` into `load atomic` when possible
Quentin Colombet via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 7 10:01:14 PST 2019
qcolombet marked an inline comment as done.
qcolombet added inline comments.
================
Comment at: lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp:39
+ Ordering != AtomicOrdering::Unordered &&
+ "AtomicRMWs don't make sense with Unordered or NotAtomic");
+ if (Ordering != AtomicOrdering::Acquire &&
----------------
jfb wrote:
> Agreed NotAtomic is bonkers (`AtomicRMWInst::Init` disallows it), but Unordered might be sensible, @reames would know.
>From the language reference (http://llvm.org/docs/LangRef.html#atomic-memory-ordering-constraints):
Unordered
[...]
This ordering cannot be specified for read-modify-write operations; it is not strong enough to make them atomic in any interesting way.
And if I try to write a test case with unordered I get:
error: atomicrmw cannot be unordered
So I think we are good :).
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57854/new/
https://reviews.llvm.org/D57854
More information about the llvm-commits
mailing list