[llvm-commits] CVS: llvm/lib/Transforms/Utils/CloneFunction.cpp

Chris Lattner lattner at cs.uiuc.edu
Wed Feb 4 15:45:03 PST 2004


Changes in directory llvm/lib/Transforms/Utils:

CloneFunction.cpp updated: 1.20 -> 1.21

---
Log message:

Minor speedup, don't query ValueMap each time through the loop


---
Diffs of the changes:  (+3 -6)

Index: llvm/lib/Transforms/Utils/CloneFunction.cpp
diff -u llvm/lib/Transforms/Utils/CloneFunction.cpp:1.20 llvm/lib/Transforms/Utils/CloneFunction.cpp:1.21
--- llvm/lib/Transforms/Utils/CloneFunction.cpp:1.20	Tue Feb  3 19:19:43 2004
+++ llvm/lib/Transforms/Utils/CloneFunction.cpp	Wed Feb  4 15:44:26 2004
@@ -92,14 +92,11 @@
   // Loop over all of the instructions in the function, fixing up operand 
   // references as we go.  This uses ValueMap to do all the hard work.
   //
-  for (Function::const_iterator BB = OldFunc->begin(), BE = OldFunc->end();
-       BB != BE; ++BB) {
-    BasicBlock *NBB = cast<BasicBlock>(ValueMap[BB]);
-    
+  for (Function::iterator BB = cast<BasicBlock>(ValueMap[OldFunc->begin()]),
+         BE = NewFunc->end(); BB != BE; ++BB)
     // Loop over all instructions, fixing each one as we find it...
-    for (BasicBlock::iterator II = NBB->begin(); II != NBB->end(); ++II)
+    for (BasicBlock::iterator II = BB->begin(); II != BB->end(); ++II)
       RemapInstruction(II, ValueMap);
-  }
 }
 
 /// CloneFunction - Return a copy of the specified function, but without





More information about the llvm-commits mailing list