diff options
| author | Devang Patel <dpatel@apple.com> | 2007-03-26 23:17:19 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2007-03-26 23:17:19 +0000 |
| commit | 55566a972ca7fe1f543a4d43ec5ad2b73ee20944 (patch) | |
| tree | 5a698b219af55de8506a7d0f3f5e58f291be918a /llvm/lib | |
| parent | 44a7f3a65dfc00fa353729670fabe28c6335dd58 (diff) | |
| download | bcm5719-llvm-55566a972ca7fe1f543a4d43ec5ad2b73ee20944.tar.gz bcm5719-llvm-55566a972ca7fe1f543a4d43ec5ad2b73ee20944.zip | |
Use std::vector<DFCalculateWorkObject> instead of
std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic.
llvm-svn: 35368
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/VMCore/Dominators.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/VMCore/Dominators.cpp b/llvm/lib/VMCore/Dominators.cpp index fab353958b3..a0e818fc313 100644 --- a/llvm/lib/VMCore/Dominators.cpp +++ b/llvm/lib/VMCore/Dominators.cpp @@ -455,13 +455,12 @@ DominanceFrontier::calculate(const DominatorTree &DT, 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 @@ DominanceFrontier::calculate(const DominatorTree &DT, 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; } } |

