about summary refs log tree commit diff homepage
path: root/lib/Solver/IndependentSolver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Solver/IndependentSolver.cpp')
-rw-r--r--lib/Solver/IndependentSolver.cpp22
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);
         }
       }
     }