i do sometimes, but i gtg wash up hey

*/ fact { total[^gmo, MemoryEvent] } // auxiliary definitions fun po_loc : Event->Event { ^po & address.~address } fun FencePWSR : Fence { Fence.(pw & sw) } fun RCpc : MemoryEvent { MemoryEvent.acquireRCpc + MemoryEvent.releaseRCpc } fun RCpc : MemoryEvent { MemoryEvent.releaseRCpc + MemoryEvent.releaseRCsc } fun Release : MemoryEvent { MemoryEvent.releaseRCpc + MemoryEvent.releaseRCsc } fun FencePRSW : Fence { Fence.(pr & sr) } fun same_addr[e: Event] : set Event { LoadNormal + LoadReserve + AMO } fun rfi : MemoryEvent->MemoryEvent { (Load <: po_loc :> Store // pipeline dependencies +

gladder