diff options
Diffstat (limited to 'lib/IR/PassManager.cpp')
-rw-r--r-- | lib/IR/PassManager.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/lib/IR/PassManager.cpp b/lib/IR/PassManager.cpp index 4f7984e..5a8df70 100644 --- a/lib/IR/PassManager.cpp +++ b/lib/IR/PassManager.cpp @@ -626,8 +626,7 @@ void PMTopLevelManager::schedulePass(Pass *P) { Pass *AnalysisPass2 = findAnalysisPass(*I2); if (AnalysisPass2) { dbgs() << "\t" << AnalysisPass2->getPassName() << "\n"; - } - else { + } else { dbgs() << "\t" << "Error: Required pass not found! Possible causes:" << "\n"; dbgs() << "\t\t" << "- Pass misconfiguration (e.g.: missing macros)" << "\n"; dbgs() << "\t\t" << "- Corruption of the global PassRegistry" << "\n"; @@ -648,8 +647,7 @@ void PMTopLevelManager::schedulePass(Pass *P) { // Recheck analysis passes to ensure that required analyses that // are already checked are still available. checkAnalysis = true; - } - else + } else // Do not schedule this analysis. Lower level analsyis // passes are run on the fly. delete AnalysisPass; @@ -876,9 +874,9 @@ void PMDataManager::removeNotPreservedAnalysis(Pass *P) { return; const AnalysisUsage::VectorType &PreservedSet = AnUsage->getPreservedSet(); - for (std::map<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), + for (DenseMap<AnalysisID, Pass*>::iterator I = AvailableAnalysis.begin(), E = AvailableAnalysis.end(); I != E; ) { - std::map<AnalysisID, Pass*>::iterator Info = I++; + DenseMap<AnalysisID, Pass*>::iterator Info = I++; if (Info->second->getAsImmutablePass() == 0 && std::find(PreservedSet.begin(), PreservedSet.end(), Info->first) == PreservedSet.end()) { @@ -899,10 +897,10 @@ void PMDataManager::removeNotPreservedAnalysis(Pass *P) { if (!InheritedAnalysis[Index]) continue; - for (std::map<AnalysisID, Pass*>::iterator + for (DenseMap<AnalysisID, Pass*>::iterator I = InheritedAnalysis[Index]->begin(), E = InheritedAnalysis[Index]->end(); I != E; ) { - std::map<AnalysisID, Pass *>::iterator Info = I++; + DenseMap<AnalysisID, Pass *>::iterator Info = I++; if (Info->second->getAsImmutablePass() == 0 && std::find(PreservedSet.begin(), PreservedSet.end(), Info->first) == PreservedSet.end()) { @@ -962,7 +960,7 @@ void PMDataManager::freePass(Pass *P, StringRef Msg, // listed as the available implementation. const std::vector<const PassInfo*> &II = PInf->getInterfacesImplemented(); for (unsigned i = 0, e = II.size(); i != e; ++i) { - std::map<AnalysisID, Pass*>::iterator Pos = + DenseMap<AnalysisID, Pass*>::iterator Pos = AvailableAnalysis.find(II[i]->getTypeInfo()); if (Pos != AvailableAnalysis.end() && Pos->second == P) AvailableAnalysis.erase(Pos); @@ -1102,7 +1100,7 @@ void PMDataManager::initializeAnalysisImpl(Pass *P) { Pass *PMDataManager::findAnalysisPass(AnalysisID AID, bool SearchParent) { // Check if AvailableAnalysis map has one entry. - std::map<AnalysisID, Pass*>::const_iterator I = AvailableAnalysis.find(AID); + DenseMap<AnalysisID, Pass*>::const_iterator I = AvailableAnalysis.find(AID); if (I != AvailableAnalysis.end()) return I->second; @@ -1797,8 +1795,7 @@ void PMStack::push(PMDataManager *PM) { TPM->addIndirectPassManager(PM); PM->setTopLevelManager(TPM); PM->setDepth(this->top()->getDepth()+1); - } - else { + } else { assert((PM->getPassManagerType() == PMT_ModulePassManager || PM->getPassManagerType() == PMT_FunctionPassManager) && "pushing bad pass manager to PMStack"); |