From: Chris Lattner Date: Mon, 14 Oct 2013 16:05:55 +0000 (+0000) Subject: Basic blocks typically have few predecessors. Use a SmallDenseMap to X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2a6cbba2db261d2ee29a1373e195f95fd232e61b;p=oota-llvm.git Basic blocks typically have few predecessors. Use a SmallDenseMap to avoid a heap allocation when this is the case. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192602 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Utils/SSAUpdater.cpp b/lib/Transforms/Utils/SSAUpdater.cpp index fc85ef32076..30adbfac058 100644 --- a/lib/Transforms/Utils/SSAUpdater.cpp +++ b/lib/Transforms/Utils/SSAUpdater.cpp @@ -63,7 +63,7 @@ void SSAUpdater::AddAvailableValue(BasicBlock *BB, Value *V) { } static bool IsEquivalentPHI(PHINode *PHI, - DenseMap &ValueMapping) { + SmallDenseMap &ValueMapping) { unsigned PHINumValues = PHI->getNumIncomingValues(); if (PHINumValues != ValueMapping.size()) return false; @@ -136,8 +136,8 @@ Value *SSAUpdater::GetValueInMiddleOfBlock(BasicBlock *BB) { // Otherwise, we do need a PHI: check to see if we already have one available // in this block that produces the right value. if (isa(BB->begin())) { - DenseMap ValueMapping(PredValues.begin(), - PredValues.end()); + SmallDenseMap ValueMapping(PredValues.begin(), + PredValues.end()); PHINode *SomePHI; for (BasicBlock::iterator It = BB->begin(); (SomePHI = dyn_cast(It)); ++It) {