model: distinguish between 'read' and 'acquire' in release sequences
authorBrian Norris <banorris@uci.edu>
Tue, 4 Dec 2012 23:14:29 +0000 (15:14 -0800)
committerBrian Norris <banorris@uci.edu>
Tue, 4 Dec 2012 23:33:23 +0000 (15:33 -0800)
commit20f8e2bc8677046c4bd7cb0bb80696ced41301f2
tree9e600e62b7e625350477670abb939f8d15ef5001
parent7966c737f2a88e5e1a56817eb9f6fdaead3eca92
model: distinguish between 'read' and 'acquire' in release sequences

When using fences, we may have a fence-acquire preceded by a non-acquire
load, where the load takes part in a "hypothetical release sequence" (as
named by Mathematizing C++). So, I add a parameter to
get_release_seq_heads() and to struct release_seq so that we record the
'acquire' operation separately from the 'read'.

For our traditional release sequences, 'acquire' and 'read' will be the
same ModelAction. But fence-acquire support will utilize distinct
actions.
model.cc
model.h