From d5f769065152d6d9331817c439caf9df0a5e8d69 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sat, 10 Mar 2012 00:23:58 +0000 Subject: [PATCH] Give dagcombiner's worklist some inline capacity. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152454 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 2532c123ba3..d93af729322 100644 --- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -80,7 +80,7 @@ namespace { // visit, we pop off the order stack until we find an item that is // also in the contents set. All operations are O(log N). SmallPtrSet WorkListContents; - std::vector WorkListOrder; + SmallVector WorkListOrder; // AA - Used for DAG load/store alias analysis. AliasAnalysis &AA; @@ -1005,8 +1005,7 @@ void DAGCombiner::Run(CombineLevel AtLevel) { // worklist *should* contain, and check the node we want to visit is should // actually be visited. do { - N = WorkListOrder.back(); - WorkListOrder.pop_back(); + N = WorkListOrder.pop_back_val(); } while (!WorkListContents.erase(N)); // If N has no uses, it is dead. Make sure to revisit all N's operands once