LLVM API Documentation

llvm::MPPassManager Class Reference

Inheritance diagram for llvm::MPPassManager:
[legend]
Collaboration diagram for llvm::MPPassManager:
[legend]

List of all members.

Public Member Functions

 MPPassManager (int Depth)
virtual ~MPPassManager ()
bool runOnModule (Module &M)
void getAnalysisUsage (AnalysisUsage &Info) const
 Pass Manager itself does not invalidate any analysis info.
virtual void addLowerLevelRequiredPass (Pass *P, Pass *RequiredPass)
virtual Pass * getOnTheFlyPass (Pass *MP, const PassInfo *PI, Function &F)
virtual const char * getPassName () const
void dumpPassStructure (unsigned Offset)
ModulePass * getContainedPass (unsigned N)
virtual PassManagerType getPassManagerType () const

Static Public Attributes

static char ID = 0


Detailed Description

MPPassManager manages ModulePasses and function pass managers. It batches all Module passes and function pass managers together and sequences them to process one module.

Definition at line 192 of file PassManager.cpp.


Constructor & Destructor Documentation

llvm::MPPassManager::MPPassManager ( int  Depth  )  [inline, explicit]

Definition at line 196 of file PassManager.cpp.

virtual llvm::MPPassManager::~MPPassManager (  )  [inline, virtual]

Definition at line 200 of file PassManager.cpp.

References E.


Member Function Documentation

bool MPPassManager::runOnModule ( Module &  M  ) 

run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the module, and if so, return true.

Execute all of the passes scheduled for execution by invoking runOnModule method. Keep track of whether any of the passes modifies the module, and if so, return true.

Definition at line 1380 of file PassManager.cpp.

References llvm::PMDataManager::dumpPassInfo(), llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::dumpRequiredSet(), llvm::EXECUTION_MSG, getContainedPass(), llvm::Module::getModuleIdentifier(), llvm::PMDataManager::getNumContainedPasses(), Index, llvm::PMDataManager::initializeAnalysisImpl(), llvm::MODIFICATION_MSG, llvm::ON_MODULE_MSG, llvm::PMDataManager::recordAvailableAnalysis(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::ModulePass::runOnModule(), TheTimeInfo, and llvm::PMDataManager::verifyPreservedAnalysis().

Referenced by llvm::PassManagerImpl::run().

void llvm::MPPassManager::getAnalysisUsage ( AnalysisUsage &  Info  )  const [inline, virtual]

Pass Manager itself does not invalidate any analysis info.

Reimplemented from llvm::Pass.

Definition at line 214 of file PassManager.cpp.

References llvm::AnalysisUsage::setPreservesAll().

void MPPassManager::addLowerLevelRequiredPass ( Pass *  P,
Pass *  RequiredPass 
) [virtual]

Add RequiredPass into list of lower level passes required by pass P. RequiredPass is run on the fly by Pass Manager when P requests it through getAnalysis interface.

Add RequiredPass into list of lower level passes required by pass P. RequiredPass is run on the fly by Pass Manager when P requests it through getAnalysis interface.

Reimplemented from llvm::PMDataManager.

Definition at line 1412 of file PassManager.cpp.

References llvm::FunctionPassManagerImpl::add(), llvm::Pass::getPotentialPassManagerType(), llvm::PMT_ModulePassManager, llvm::SmallVectorImpl< T >::push_back(), llvm::PMTopLevelManager::setLastUser(), and llvm::PMDataManager::setTopLevelManager().

Pass * MPPassManager::getOnTheFlyPass ( Pass *  MP,
const PassInfo *  PI,
Function &  F 
) [virtual]

Return function pass corresponding to PassInfo PI, that is required by module pass MP. Instantiate analysis pass, by using its runOnFunction() for function F.

Return function pass corresponding to PassInfo PI, that is required by module pass MP. Instantiate analysis pass, by using its runOnFunction() for function F.

Reimplemented from llvm::PMDataManager.

Definition at line 1439 of file PassManager.cpp.

References llvm::FunctionPassManagerImpl::run().

virtual const char* llvm::MPPassManager::getPassName (  )  const [inline, virtual]

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.

Reimplemented from llvm::Pass.

Definition at line 228 of file PassManager.cpp.

void llvm::MPPassManager::dumpPassStructure ( unsigned  Offset  )  [inline, virtual]

ModulePass* llvm::MPPassManager::getContainedPass ( unsigned  N  )  [inline]

Definition at line 244 of file PassManager.cpp.

References llvm::PMDataManager::PassVector.

Referenced by dumpPassStructure(), and runOnModule().

virtual PassManagerType llvm::MPPassManager::getPassManagerType (  )  const [inline, virtual]

Reimplemented from llvm::PMDataManager.

Definition at line 250 of file PassManager.cpp.

References llvm::PMT_ModulePassManager.


Member Data Documentation

char llvm::MPPassManager::ID = 0 [static]

Definition at line 195 of file PassManager.cpp.


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