[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