[PATCH] D157765: [llvm langref] inaccessiblemem implies nosync

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 14 01:31:32 PDT 2023


nikic added a comment.

TBH I find the semantics of nosync to be unclear to the point of uselessness, and I'm not sure whether this patch helps clarify them any.

I think the two clarifications to `nosync` that would help are:

- The memory effects of a synchronizing operation include all memory effects that the synchronization can make visible. For example, a synchronizing operation that can make previous writes to a location visible must have a write memory effect for that location.
- A synchronizing operation that imposes an ordering constraint with other synchronizing operations must perform a read and write to inaccessible memory.

I think this matches how LLVM models synchronization, but I was never able to get really satisfactory answer to this.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157765/new/

https://reviews.llvm.org/D157765



More information about the llvm-commits mailing list