From 1f87a58ab29bc0fe888abfa3e15917e62ad3598e Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 15 Feb 2007 19:41:52 +0000 Subject: [PATCH] switch an std::set to a SmallPtr set, this speeds up instcombine by 9.5% on 447.dealII git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34323 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/InstructionCombining.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 65b1eb4a0f0..b5576179986 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -51,6 +51,7 @@ #include "llvm/Support/PatternMatch.h" #include "llvm/Support/Compiler.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/SmallPtrSet.h" #include "llvm/ADT/Statistic.h" #include "llvm/ADT/STLExtras.h" #include @@ -9088,11 +9089,11 @@ static bool TryToSinkInstruction(Instruction *I, BasicBlock *DestBlock) { /// whose condition is a known constant, we only visit the reachable successors. /// static void AddReachableCodeToWorklist(BasicBlock *BB, - std::set &Visited, + SmallPtrSet &Visited, std::vector &WorkList, const TargetData *TD) { // We have now visited this block! If we've already been here, bail out. - if (!Visited.insert(BB).second) return; + if (!Visited.insert(BB)) return; for (BasicBlock::iterator BBI = BB->begin(), E = BB->end(); BBI != E; ) { Instruction *Inst = BBI++; @@ -9154,7 +9155,7 @@ bool InstCombiner::runOnFunction(Function &F) { // Do a depth-first traversal of the function, populate the worklist with // the reachable instructions. Ignore blocks that are not reachable. Keep // track of which blocks we visit. - std::set Visited; + SmallPtrSet Visited; AddReachableCodeToWorklist(F.begin(), Visited, WorkList, TD); // Do a quick scan over the function. If we find any blocks that are -- 2.34.1