aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-03-10 00:23:58 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-03-10 00:23:58 +0000
commitd5f769065152d6d9331817c439caf9df0a5e8d69 (patch)
tree7b21034cdf36c248bef104a21dd1e98ea402b39b /lib
parentd229b7b8f4495a0471f3d2812050bfaa3a209e39 (diff)
downloadexternal_llvm-d5f769065152d6d9331817c439caf9df0a5e8d69.zip
external_llvm-d5f769065152d6d9331817c439caf9df0a5e8d69.tar.gz
external_llvm-d5f769065152d6d9331817c439caf9df0a5e8d69.tar.bz2
Give dagcombiner's worklist some inline capacity.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152454 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 2532c12..d93af72 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<SDNode*, 64> WorkListContents;
- std::vector<SDNode*> WorkListOrder;
+ SmallVector<SDNode*, 64> 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