LLVM API Documentation

llvm::MPPassManager Class Reference

Inheritance diagram for llvm::MPPassManager:

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

Collaboration graph
[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 PassgetOnTheFlyPass (Pass *MP, const PassInfo *PI, Function &F)
virtual const char * getPassName () const
void dumpPassStructure (unsigned Offset)
ModulePassgetContainedPass (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 191 of file PassManager.cpp.


Constructor & Destructor Documentation

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

Definition at line 195 of file PassManager.cpp.

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

Definition at line 199 of file PassManager.cpp.

References E, and I.


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 1367 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 213 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 1399 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 1426 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 227 of file PassManager.cpp.

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

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

Definition at line 243 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 249 of file PassManager.cpp.

References llvm::PMT_ModulePassManager.


Member Data Documentation

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

Definition at line 194 of file PassManager.cpp.


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



This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.