Changes in directory llvm/lib/VMCore:
Dominators.cpp updated: 1.80 -> 1.81 --- Log message: Use std::vector<DFCalculateWorkObject> instead of std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic. --- Diffs of the changes: (+4 -7) Dominators.cpp | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-) Index: llvm/lib/VMCore/Dominators.cpp diff -u llvm/lib/VMCore/Dominators.cpp:1.80 llvm/lib/VMCore/Dominators.cpp:1.81 --- llvm/lib/VMCore/Dominators.cpp:1.80 Tue Mar 20 16:25:31 2007 +++ llvm/lib/VMCore/Dominators.cpp Mon Mar 26 18:17:19 2007 @@ -455,13 +455,12 @@ BasicBlock *BB = Node->getBlock(); DomSetType *Result = NULL; - std::vector<DFCalculateWorkObject *> workList; + std::vector<DFCalculateWorkObject> workList; std::set<BasicBlock *> visited; - DFCalculateWorkObject *W = new DFCalculateWorkObject(BB, NULL, Node, NULL); - workList.push_back(W); + workList.push_back(DFCalculateWorkObject(BB, NULL, Node, NULL)); do { - DFCalculateWorkObject *currentW = workList.back(); + DFCalculateWorkObject *currentW = &workList.back(); assert (currentW && "Missing work object."); BasicBlock *currentBB = currentW->currentBB; @@ -494,9 +493,7 @@ DominatorTree::Node *IDominee = *NI; BasicBlock *childBB = IDominee->getBlock(); if (visited.count(childBB) == 0) { - DFCalculateWorkObject *newW = - new DFCalculateWorkObject(childBB, currentBB, IDominee, currentNode); - workList.push_back(newW); + workList.push_back(DFCalculateWorkObject(childBB, currentBB, IDominee, currentNode)); visitChild = true; } } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits