[llvm-commits] CVS: llvm/lib/VMCore/Dominators.cpp

Devang Patel dpatel at apple.com
Mon Mar 26 16:17:36 PDT 2007



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;
       }
     }






More information about the llvm-commits mailing list