Changes in directory llvm/lib/Transforms/Utils:
PromoteMemoryToRegister.cpp updated: 1.95 -> 1.96 --- Log message: Reduce malloc/free traffic. --- Diffs of the changes: (+8 -12) PromoteMemoryToRegister.cpp | 20 ++++++++------------ 1 files changed, 8 insertions(+), 12 deletions(-) Index: llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp diff -u llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.95 llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.96 --- llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp:1.95 Fri Mar 9 17:41:03 2007 +++ llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Mon Mar 26 18:19:29 2007 @@ -77,7 +77,7 @@ class VISIBILITY_HIDDEN RenamePassData { public: RenamePassData(BasicBlock *B, BasicBlock *P, - std::vector<Value *> V) : BB(B), Pred(P), Values(V) {} + const std::vector<Value *> &V) : BB(B), Pred(P), Values(V) {} BasicBlock *BB; BasicBlock *Pred; std::vector<Value *> Values; @@ -123,7 +123,7 @@ DenseMap<BasicBlock*, unsigned> BBNumbers; /// RenamePassWorkList - Worklist used by RenamePass() - std::vector<RenamePassData *> RenamePassWorkList; + std::vector<RenamePassData> RenamePassWorkList; public: PromoteMem2Reg(const std::vector<AllocaInst*> &A, @@ -407,13 +407,12 @@ // and inserting the phi nodes we marked as necessary // RenamePassWorkList.clear(); - RenamePassData *RPD = new RenamePassData(F.begin(), 0, Values); - RenamePassWorkList.push_back(RPD); + RenamePassWorkList.push_back(RenamePassData(F.begin(), 0, Values)); while(!RenamePassWorkList.empty()) { - RenamePassData *RPD = RenamePassWorkList.back(); RenamePassWorkList.pop_back(); + RenamePassData RPD = RenamePassWorkList.back(); + RenamePassWorkList.pop_back(); // RenamePass may add new worklist entries. - RenamePass(RPD->BB, RPD->Pred, RPD->Values); - delete RPD; + RenamePass(RPD.BB, RPD.Pred, RPD.Values); } // The renamer uses the Visited set to avoid infinite loops. Clear it now. @@ -794,11 +793,8 @@ // Recurse to our successors. TerminatorInst *TI = BB->getTerminator(); - for (unsigned i = 0; i != TI->getNumSuccessors(); i++) { - RenamePassData *RPD = new RenamePassData(TI->getSuccessor(i), BB, - IncomingVals); - RenamePassWorkList.push_back(RPD); - } + for (unsigned i = 0; i != TI->getNumSuccessors(); i++) + RenamePassWorkList.push_back(RenamePassData(TI->getSuccessor(i), BB, IncomingVals)); } /// PromoteMemToReg - Promote the specified list of alloca instructions into _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits