diff options
Diffstat (limited to 'llvm')
| -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;        }      }  | 

