diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-06-09 05:40:06 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-06-09 05:40:06 +0000 |
commit | 1b0dfab63d317509f7cbf4d4cc2643fc86e90e4d (patch) | |
tree | 201c0a8be926b662df36c052dd95a08e53e188e8 /lib/Solver/IndependentSolver.cpp | |
parent | 6b97844651c092af6ff525d82f4f15c04cd927dc (diff) | |
download | klee-1b0dfab63d317509f7cbf4d4cc2643fc86e90e4d.tar.gz |
Kill off UpdateList::isRooted flag.
- The right way to handle this is by using constant arrays, where the semantics are easier to define and implement. git-svn-id: https://llvm.org/svn/llvm-project/klee/trunk@73124 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Solver/IndependentSolver.cpp')
-rw-r--r-- | lib/Solver/IndependentSolver.cpp | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/Solver/IndependentSolver.cpp b/lib/Solver/IndependentSolver.cpp index 455e9240..7ebee1c7 100644 --- a/lib/Solver/IndependentSolver.cpp +++ b/lib/Solver/IndependentSolver.cpp @@ -94,18 +94,16 @@ public: findReads(e, /* visitUpdates= */ true, reads); for (unsigned i = 0; i != reads.size(); ++i) { ReadExpr *re = reads[i].get(); - if (re->updates.isRooted) { - const Array *array = re->updates.root; - if (!wholeObjects.count(array)) { - if (ConstantExpr *CE = dyn_cast<ConstantExpr>(re->index)) { - DenseSet<unsigned> &dis = elements[array]; - dis.add((unsigned) CE->getConstantValue()); - } else { - elements_ty::iterator it2 = elements.find(array); - if (it2!=elements.end()) - elements.erase(it2); - wholeObjects.insert(array); - } + const Array *array = re->updates.root; + if (!wholeObjects.count(array)) { + if (ConstantExpr *CE = dyn_cast<ConstantExpr>(re->index)) { + DenseSet<unsigned> &dis = elements[array]; + dis.add((unsigned) CE->getConstantValue()); + } else { + elements_ty::iterator it2 = elements.find(array); + if (it2!=elements.end()) + elements.erase(it2); + wholeObjects.insert(array); } } } |