Re: [RFC][PATCH 4/4] tools/memory-model: Distinguish between syntactic and semantic tags

From: Jonas Oberhauser
Date: Tue May 28 2024 - 08:50:18 EST


+let Mb = MB \ FailedRMW
>> (* Compute marked and plain memory accesses *)
-let Marked = (~M) | IW | Once | Release | Acquire | domain(rmw) | range(rmw) |
+let Marked = (~M) | IW | ONCE | RELEASE | ACQUIRE | MB | domain(rmw) | range(rmw) |

The new MB term isn't needed, because MB tags on memory accesses are
filtered out unless the access also belongs to domain(rmw) | range(rmw).

Alan


Thanks for all the notes.
I think on this one is needed though under the assumption that herd7 would no longer know internally to replace the MB with ONCE in case
of failure.


best wishes,

jonas