Implement a "union-findy" version of DS-Analysis, which eliminates the
[oota-llvm.git] / lib / Analysis / DataStructure / TopDownClosure.cpp
index de6233d4c8e01b1cfb8b733bef37b53d5346e7a2..def549226f2377ab118c7dbec355c91fa3962d4c 100644 (file)
@@ -183,16 +183,10 @@ void TDDataStructures::calculateGraph(Function &F) {
           for (unsigned i = 0, e = NewCS.getNumPtrArgs();
                i != e && AI != Callee->aend(); ++i, ++AI) {
             // Advance the argument iterator to the first pointer argument...
-            while (!DS::isPointerType(AI->getType())) {
+            while (AI != Callee->aend() && !DS::isPointerType(AI->getType()))
               ++AI;
-#ifndef NDEBUG
-              if (AI == Callee->aend())
-                std::cerr << "Bad call to Func: " << Callee->getName() << "\n";
-#endif
-              assert(AI != Callee->aend() &&
-                     "# Args provided is not # Args required!");
-            }
-          
+            if (AI == Callee->aend()) break;
+
             // Add the link from the argument scalar to the provided value
             DSNodeHandle &NH = CG.getNodeForValue(AI);
             assert(NH.getNode() && "Pointer argument without scalarmap entry?");