* So for each thread, we find the earliest item that happens after
* the read curr. This is the item we have to fix up with additional
* constraints. If that action is write, we add a MO edge between
* So for each thread, we find the earliest item that happens after
* the read curr. This is the item we have to fix up with additional
* constraints. If that action is write, we add a MO edge between