use smallvector instead of vector for a couple worklists. This speeds up instcombine
authorChris Lattner <sabre@nondot.org>
Fri, 15 Aug 2008 04:03:01 +0000 (04:03 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 15 Aug 2008 04:03:01 +0000 (04:03 +0000)
by ~10% on some testcases.

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

lib/Transforms/Scalar/InstructionCombining.cpp

index 74b88b9afc69d3a8974e7471b39c3a64457b8a00..9e0a8e736a8fe6dc3c9ed9ed67e905937a9e2e66 100644 (file)
@@ -74,7 +74,7 @@ namespace {
     : public FunctionPass,
       public InstVisitor<InstCombiner, Instruction*> {
     // Worklist of all of the instructions that need to be simplified.
-    std::vector<Instruction*> Worklist;
+    SmallVector<Instruction*, 256> Worklist;
     DenseMap<Instruction*, unsigned> WorklistMap;
     TargetData *TD;
     bool MustPreserveLCSSA;
@@ -11386,7 +11386,7 @@ static void AddReachableCodeToWorklist(BasicBlock *BB,
                                        SmallPtrSet<BasicBlock*, 64> &Visited,
                                        InstCombiner &IC,
                                        const TargetData *TD) {
-  std::vector<BasicBlock*> Worklist;
+  SmallVector<BasicBlock*, 256> Worklist;
   Worklist.push_back(BB);
 
   while (!Worklist.empty()) {