[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 Jul 14 23:54:41 PDT 2026
================
@@ -4057,12 +4057,17 @@ Given that definition, R{sub}`byte` is defined as follows:
- 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
+ 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
Memory Ordering Constraints <ordering>` section for additional
constraints on how the choice is made. Targets may impose additional
requirements on R and the writes it may see based on their `syncscope`.
- Otherwise R{sub}`byte` returns `undef`.
+Defined atomic accesses cannot tear: If a byte subaccess R{sub}`byte1`
----------------
ritter-x2a wrote:
Done.
https://github.com/llvm/llvm-project/pull/204329
More information about the llvm-commits
mailing list