switch over some other methods from indices to iterators
authorGabor Greif <ggreif@gmail.com>
Sat, 17 Jan 2009 19:46:01 +0000 (19:46 +0000)
committerGabor Greif <ggreif@gmail.com>
Sat, 17 Jan 2009 19:46:01 +0000 (19:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62430 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/IPA/CallGraph.cpp

index b459246c298cbcae0232461408cb1c205a7289a4..c8f1d920658e201d4db2ac58f579605d03473fb2 100644 (file)
@@ -285,11 +285,11 @@ void CallGraphNode::removeAnyCallEdgeTo(CallGraphNode *Callee) {
 /// removeOneAbstractEdgeTo - Remove one edge associated with a null callsite
 /// from this node to the specified callee function.
 void CallGraphNode::removeOneAbstractEdgeTo(CallGraphNode *Callee) {
-  for (unsigned i = CalledFunctions.size(); ; --i) {
-    assert(i && "Cannot find callee to remove!");
-    CallRecord &CR = CalledFunctions[i-1];
+  for (CalledFunctionsVector::iterator I = CalledFunctions.begin(); ; ++I) {
+    assert(I != CalledFunctions.end() && "Cannot find callee to remove!");
+    CallRecord &CR = *I;
     if (CR.second == Callee && !CR.first.getInstruction()) {
-      CalledFunctions.erase(CalledFunctions.begin()+i-1);
+      CalledFunctions.erase(I);
       return;
     }
   }
@@ -299,10 +299,10 @@ void CallGraphNode::removeOneAbstractEdgeTo(CallGraphNode *Callee) {
 /// New CallSite instead.  Note that this method takes linear time, so it
 /// should be used sparingly.
 void CallGraphNode::replaceCallSite(CallSite Old, CallSite New) {
-  for (unsigned i = CalledFunctions.size(); ; --i) {
-    assert(i && "Cannot find callsite to replace!");
-    if (CalledFunctions[i-1].first == Old) {
-      CalledFunctions[i-1].first = New;
+  for (CalledFunctionsVector::iterator I = CalledFunctions.begin(); ; ++I) {
+    assert(I != CalledFunctions.end() && "Cannot find callsite to replace!");
+    if (I->first == Old) {
+      I->first = New;
       return;
     }
   }