about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorDan Liew <delcypher@gmail.com>2013-12-19 06:51:08 -0800
committerDan Liew <delcypher@gmail.com>2013-12-19 06:51:08 -0800
commit2c04a50f501d861da765ee8d3a0d3531dcbd52af (patch)
tree05ebcc77b7c8962e7586f851088b771f84755be1
parenta7f8d7660815b5e29c123253a2687fedc1f329e3 (diff)
parentea338e4a774c513d078ffb183f86d1389b912227 (diff)
downloadklee-2c04a50f501d861da765ee8d3a0d3531dcbd52af.tar.gz
Merge pull request #76 from srg-imperial/master
Patch by Daniel Lupei, fixing a performance bug with the counterexample cache.  (This is an old patch, reported at http://llvm.org/bugs/show_bug.cgi?id=11435, on KLEE's old bug tracking system.)
-rw-r--r--include/klee/Expr.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/klee/Expr.h b/include/klee/Expr.h
index 4bebd521..f893c6cc 100644
--- a/include/klee/Expr.h
+++ b/include/klee/Expr.h
@@ -197,8 +197,10 @@ public:
   typedef llvm::DenseSet<std::pair<const Expr *, const Expr *> > ExprEquivSet;
   int compare(const Expr &b, ExprEquivSet &equivs) const;
   int compare(const Expr &b) const {
-    ExprEquivSet equivs;
-    return compare(b, equivs);
+    static ExprEquivSet equivs;
+    int r = compare(b, equivs);
+    equivs.clear();
+    return r;
   }
   virtual int compareContents(const Expr &b) const { return 0; }