cyclegraph: bugfix - only use concrete writes to eliminate threads
authorBrian Norris <banorris@uci.edu>
Tue, 5 Feb 2013 01:12:11 +0000 (17:12 -0800)
committerBrian Norris <banorris@uci.edu>
Wed, 6 Feb 2013 21:44:39 +0000 (13:44 -0800)
cyclegraph.cc

index d2a032efde0a2124c6ea5744603d52d27c23c3e1..23e5eca4ec82d28d07393ba7cab344d0837920fd 100644 (file)
@@ -307,9 +307,9 @@ bool CycleGraph::checkPromise(const ModelAction *fromact, Promise *promise) cons
                CycleNode *node = queue.back();
                queue.pop_back();
 
-               if (promise->eliminate_thread(node->getAction()->get_tid())) {
+               if (!node->is_promise() &&
+                               promise->eliminate_thread(node->getAction()->get_tid()))
                        return true;
-               }
 
                for (unsigned int i = 0; i < node->getNumEdges(); i++) {
                        CycleNode *next = node->getEdge(i);