[llvm] [RFC][LangRef] Specify that the accessed bytes of concurrent atomics must be either disjoint or the same (PR #204329)
Fabian Ritter via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 30 02:10:38 PDT 2026
================
@@ -3968,13 +3968,20 @@ Given that definition, R\ :sub:`byte` is defined as follows:
R\ :sub:`byte`, R\ :sub:`byte` returns ``undef`` for that byte.
- Otherwise, if R\ :sub:`byte` may see exactly one write,
R\ :sub:`byte` returns the value written by that write.
-- Otherwise, if R is atomic, and all the writes R\ :sub:`byte` may
- see are atomic, it chooses one of the values written. See the :ref:`Atomic
+- Otherwise, if R is atomic, all the writes R\ :sub:`byte` may
+ see are atomic, and R and the writes all access the exact same set of
+ bytes, it chooses one of the values written. See the :ref:`Atomic
----------------
ritter-x2a wrote:
Isn't that the usual nature of these axiomatic memory consistency models? For a set of candidate executions, they define constraints that the executions must fulfil to be legal.
There isn't really a notion of time that would match terms like "retroactively" and "once we know".
https://github.com/llvm/llvm-project/pull/204329
More information about the llvm-commits
mailing list