~CycleGraph();
void addEdge(const ModelAction *from, const ModelAction *to);
bool checkForCycles();
+ bool checkForRMWViolation();
void addRMWEdge(const ModelAction *from, const ModelAction *rmw);
bool checkReachable(const ModelAction *from, const ModelAction *to);
/** @brief A flag: true if this graph contains cycles */
bool hasCycles;
-
bool oldCycles;
+ bool hasRMWViolation;
+ bool oldRMWViolation;
+
std::vector<CycleNode *> rollbackvector;
std::vector<CycleNode *> rmwrollbackvector;
};