summaryrefslogtreecommitdiff
path: root/lib/VMCore/Dominators.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-03-26 23:17:19 +0000
committerDevang Patel <dpatel@apple.com>2007-03-26 23:17:19 +0000
commit9be98dd9c01e41c126fa3da0d794bdbeb5665c11 (patch)
tree15e79b317332f03d7a766b2b919e6f0fc99326d2 /lib/VMCore/Dominators.cpp
parentf589ef25cc2545cd6885a079d2f81ddf1bb2af8b (diff)
downloadllvm-9be98dd9c01e41c126fa3da0d794bdbeb5665c11.tar.gz
llvm-9be98dd9c01e41c126fa3da0d794bdbeb5665c11.tar.bz2
llvm-9be98dd9c01e41c126fa3da0d794bdbeb5665c11.tar.xz
Use std::vector<DFCalculateWorkObject> instead of
std::vector<DFCalculateWorkObject *> to reduce malloc/free traffic. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35368 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/Dominators.cpp')
-rw-r--r--lib/VMCore/Dominators.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/VMCore/Dominators.cpp b/lib/VMCore/Dominators.cpp
index fab353958b..a0e818fc31 100644
--- a/lib/VMCore/Dominators.cpp
+++ b/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;
}
}