Use isTrueWhenEqual and isFalseWhenEqual instead of assuming that
[oota-llvm.git] / lib / Analysis / CaptureTracking.cpp
index 7a2f60b5e9e7ab5886dc8c5302fab46e5bbf410f..047825884ef357af0d2791fe18722e3a91d0500b 100644 (file)
@@ -44,21 +44,21 @@ static int const Threshold = 20;
 /// counts as capturing it or not.
 bool llvm::PointerMayBeCaptured(const Value *V,
                                 bool ReturnCaptures, bool StoreCaptures) {
-  assert(isa<PointerType>(V->getType()) && "Capture is for pointers only!");
-  SmallVector<Use*, 16> Worklist;
-  SmallSet<Use*, 16> Visited;
+  assert(V->getType()->isPointerTy() && "Capture is for pointers only!");
+  SmallVector<Use*, Threshold> Worklist;
+  SmallSet<Use*, Threshold> Visited;
   int Count = 0;
 
-  for (Value::use_const_iterator UI = V->use_begin(), UE = V->use_end();
+  for (Value::const_use_iterator UI = V->use_begin(), UE = V->use_end();
        UI != UE; ++UI) {
-    Use *U = &UI.getUse();
-    Visited.insert(U);
-    Worklist.push_back(U);
-
-    // If there are lots of uses, conservativelty say that the value
+    // If there are lots of uses, conservatively say that the value
     // is captured to avoid taking too much compile time.
     if (Count++ >= Threshold)
       return true;
+
+    Use *U = &UI.getUse();
+    Visited.insert(U);
+    Worklist.push_back(U);
   }
 
   while (!Worklist.empty()) {