LLVM API Documentation

Public Member Functions | Static Public Attributes
llvm::FunctionPassManagerImpl Class Reference

FunctionPassManagerImpl manages FPPassManagers. More...

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

List of all members.

Public Member Functions

 FunctionPassManagerImpl ()
void add (Pass *P)
PasscreatePrinterPass (raw_ostream &O, const std::string &Banner) const
 createPrinterPass - Get a function printer pass.
void releaseMemoryOnTheFly ()
bool run (Function &F)
bool doInitialization (Module &M)
bool doFinalization (Module &M)
virtual PMDataManagergetAsPMDataManager ()
virtual PassgetAsPass ()
virtual PassManagerType getTopLevelPassManagerType ()
void getAnalysisUsage (AnalysisUsage &Info) const
 Pass Manager itself does not invalidate any analysis info.
FPPassManagergetContainedManager (unsigned N)

Static Public Attributes

static char ID = 0

Detailed Description

FunctionPassManagerImpl manages FPPassManagers.

Definition at line 217 of file PassManager.cpp.


Constructor & Destructor Documentation

llvm::FunctionPassManagerImpl::FunctionPassManagerImpl ( ) [inline, explicit]

Definition at line 225 of file PassManager.cpp.


Member Function Documentation

void llvm::FunctionPassManagerImpl::add ( Pass P) [inline]

add - Add a pass to the queue of passes to run. This passes ownership of the Pass to the PassManager. When the PassManager is destroyed, the pass will be destroyed as well, so there is no need to delete the pass. This implies that all passes MUST be allocated with 'new'.

Definition at line 233 of file PassManager.cpp.

Referenced by llvm::FunctionPassManager::add(), and llvm::MPPassManager::addLowerLevelRequiredPass().

Pass* llvm::FunctionPassManagerImpl::createPrinterPass ( raw_ostream O,
const std::string &  Banner 
) const [inline, virtual]

createPrinterPass - Get a function printer pass.

Implements llvm::Pass.

Definition at line 238 of file PassManager.cpp.

References llvm::createPrintFunctionPass().

bool FunctionPassManagerImpl::doFinalization ( Module M) [virtual]
bool FunctionPassManagerImpl::doInitialization ( Module M) [virtual]
void llvm::FunctionPassManagerImpl::getAnalysisUsage ( AnalysisUsage Info) const [inline, virtual]

Pass Manager itself does not invalidate any analysis info.

Reimplemented from llvm::Pass.

Definition at line 266 of file PassManager.cpp.

References llvm::AnalysisUsage::setPreservesAll().

virtual Pass* llvm::FunctionPassManagerImpl::getAsPass ( ) [inline, virtual]

Implements llvm::PMDataManager.

Definition at line 260 of file PassManager.cpp.

virtual PMDataManager* llvm::FunctionPassManagerImpl::getAsPMDataManager ( ) [inline, virtual]

Reimplemented from llvm::Pass.

Definition at line 259 of file PassManager.cpp.

FPPassManager* llvm::FunctionPassManagerImpl::getContainedManager ( unsigned  N) [inline]

Definition at line 270 of file PassManager.cpp.

Referenced by doFinalization(), doInitialization(), releaseMemoryOnTheFly(), and run().

virtual PassManagerType llvm::FunctionPassManagerImpl::getTopLevelPassManagerType ( ) [inline, virtual]

Implements llvm::PMTopLevelManager.

Definition at line 261 of file PassManager.cpp.

References llvm::PMT_FunctionPassManager.

void FunctionPassManagerImpl::releaseMemoryOnTheFly ( )
bool FunctionPassManagerImpl::run ( Function F)

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.

Definition at line 1475 of file PassManager.cpp.

References llvm::FPPassManager::cleanup(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::FPPassManager::runOnFunction().

Referenced by llvm::MPPassManager::getOnTheFlyPass(), and llvm::FunctionPassManager::run().


Member Data Documentation

Definition at line 224 of file PassManager.cpp.


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