Use reserve.
authorDan Gohman <gohman@apple.com>
Mon, 30 Jun 2008 21:04:06 +0000 (21:04 +0000)
committerDan Gohman <gohman@apple.com>
Mon, 30 Jun 2008 21:04:06 +0000 (21:04 +0000)
SelectionDAG::allnodes_size is linear, but that doesn't appear to
outweigh the benefit of reducing heap traffic. If it does become a
problem, we should teach SelectionDAG to keep a count of how many
nodes are live, because there are several other places where that
information would be useful as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52926 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SelectionDAG/DAGCombiner.cpp

index 38171dff7520ee75b65b413fc81f409e4b56bc97..581d6ee0426668ae65256c5dec9d0f15794ce0d8 100644 (file)
@@ -592,6 +592,7 @@ void DAGCombiner::Run(bool RunningAfterLegalize) {
   AfterLegalize = RunningAfterLegalize;
 
   // Add all the dag nodes to the worklist.
+  WorkList.reserve(DAG.allnodes_size());
   for (SelectionDAG::allnodes_iterator I = DAG.allnodes_begin(),
        E = DAG.allnodes_end(); I != E; ++I)
     WorkList.push_back(I);