LLVM: llvm::PMTopLevelManager Class Reference (original) (raw)

PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers. More...

#include "[llvm/IR/LegacyPassManagers.h](LegacyPassManagers%5F8h%5Fsource.html)"

Public Member Functions
void schedulePass (Pass *P)
Schedule pass P for execution.
void setLastUser (ArrayRef< Pass * > AnalysisPasses, Pass *P)
Set pass P as the last user of the given analysis passes.
void collectLastUses (SmallVectorImpl< Pass * > &LastUses, Pass *P)
Collect passes whose last user is P.
Pass * findAnalysisPass (AnalysisID AID)
Find the pass that implements Analysis AID.
const PassInfo * findAnalysisPassInfo (AnalysisID AID) const
Retrieve the PassInfo for an analysis.
AnalysisUsage * findAnalysisUsage (Pass *P)
Find analysis usage information for the pass P.
virtual ~PMTopLevelManager ()
Destructor.
void addImmutablePass (ImmutablePass *P)
Add immutable pass and initialize it.
SmallVectorImpl< ImmutablePass * > & getImmutablePasses ()
void addPassManager (PMDataManager *Manager)
void addIndirectPassManager (PMDataManager *Manager)
void dumpPasses () const
void dumpArguments () const

PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers.

Definition at line 159 of file LegacyPassManagers.h.

PMTopLevelManager::PMTopLevelManager ( PMDataManager * PMDM) explicitprotected

~PMTopLevelManager()

PMTopLevelManager::~PMTopLevelManager ( ) virtual

addImmutablePass()

addIndirectPassManager()

void llvm::PMTopLevelManager::addIndirectPassManager ( PMDataManager * Manager) inline

addPassManager()

void llvm::PMTopLevelManager::addPassManager ( PMDataManager * Manager) inline

collectLastUses()

dumpArguments()

void PMTopLevelManager::dumpArguments ( ) const

dumpPasses()

void PMTopLevelManager::dumpPasses ( ) const

findAnalysisPass()

findAnalysisPassInfo()

findAnalysisUsage()

getImmutablePasses()

getNumContainedManagers()

unsigned llvm::PMTopLevelManager::getNumContainedManagers ( ) const inlineprotected

initializeAllAnalysisInfo()

void PMTopLevelManager::initializeAllAnalysisInfo ( ) protected

schedulePass()

void PMTopLevelManager::schedulePass ( Pass * P )

Schedule pass P for execution.

Make sure that passes required by P are run before P is run. Update analysis info maintained by the manager. Remove dead passes. This is a recursive function.

Definition at line 653 of file LegacyPassManager.cpp.

References activeStack, addImmutablePass(), assert(), llvm::Pass::assignPassManager(), llvm::PassInfo::createPass(), llvm::dbgs(), DM, findAnalysisPass(), findAnalysisPassInfo(), findAnalysisUsage(), llvm::PassInfo::getPassArgument(), llvm::Pass::getPassName(), llvm::Pass::getPotentialPassManagerType(), llvm::AnalysisUsage::getRequiredSet(), llvm::PassInfo::isAnalysis(), P, schedulePass(), llvm::shouldPrintAfterPass(), and llvm::shouldPrintBeforePass().

Referenced by llvm::legacy::FunctionPassManagerImpl::add(), llvm::legacy::PassManagerImpl::add(), llvm::CallGraphSCCPass::assignPassManager(), llvm::LoopPass::assignPassManager(), llvm::RegionPass::assignPassManager(), and schedulePass().

setLastUser()

void PMTopLevelManager::setLastUser ( ArrayRef< Pass * > AnalysisPasses,
Pass * P )

Set pass P as the last user of the given analysis passes.

Definition at line 555 of file LegacyPassManager.cpp.

References assert(), findAnalysisPass(), findAnalysisUsage(), llvm::PMDataManager::getDepth(), llvm::AnalysisResolver::getPMDataManager(), llvm::AnalysisUsage::getRequiredTransitiveSet(), llvm::Pass::getResolver(), P, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and setLastUser().

Referenced by setLastUser().

activeStack

PMStack llvm::PMTopLevelManager::activeStack

PassManagers


The documentation for this class was generated from the following files: