[llvm-dev] Memory model: clarifying the semantics of unordered atomic loads & stores

4 views
Skip to first unread message

Nicolai Hähnle-Montoro via llvm-dev

unread,
Jun 13, 2019, 11:14:07 AM6/13/19
to llvm-dev
Hi all,

There is a seeming contradiction, or possibly just an oversight, in
some of the language defining atomics and fences in relation to the
unordered ordering in LangRef.rst and Atomics.rst. This has come up in
discussions related to the memory model in Vulkan.

Atomics.rst says about unorderd: "This cannot be used for synchronization"

However, the semantics of fence instructions in LangRef.rst talks
about fences A, B and related atomic operations X, Y establishing a
happens-before relation between A and B.

We suspect that the intention here is that X and Y both must have at
least a _monotonic_ ordering. Is that correct?

Thanks,
Nicolai
--
Lerne, wie die Welt wirklich ist,
aber vergiss niemals, wie sie sein sollte.
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Reply all
Reply to author
Forward
0 new messages