LLVM API Documentation

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 (int Depth)
void add (Pass *P)
bool run (Function &F)
bool doInitialization (Module &M)
bool doFinalization (Module &M)
void getAnalysisUsage (AnalysisUsage &Info) const
 Pass Manager itself does not invalidate any analysis info.
void addTopLevelPass (Pass *P)
FPPassManagergetContainedManager (unsigned N)

Static Public Attributes

static char ID = 0


Detailed Description

FunctionPassManagerImpl manages FPPassManagers.

Definition at line 126 of file PassManager.cpp.


Constructor & Destructor Documentation

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

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

References llvm::PMTopLevelManager::schedulePass().

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

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 1256 of file PassManager.cpp.

References llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), Index, llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::FPPassManager::runOnFunction().

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

bool FunctionPassManagerImpl::doInitialization ( Module M  )  [inline]

doInitialization - Run all of the initializers for the function passes.

Definition at line 1232 of file PassManager.cpp.

References llvm::FPPassManager::doInitialization(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), and Index.

Referenced by llvm::FunctionPassManager::doInitialization().

bool FunctionPassManagerImpl::doFinalization ( Module M  )  [inline]

doFinalization - Run all of the finalizers for the function passes.

Definition at line 1243 of file PassManager.cpp.

References llvm::FPPassManager::doFinalization(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), and Index.

Referenced by llvm::FunctionPassManager::doFinalization().

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 156 of file PassManager.cpp.

References llvm::AnalysisUsage::setPreservesAll().

void llvm::FunctionPassManagerImpl::addTopLevelPass ( Pass P  )  [inline, virtual]

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

Definition at line 177 of file PassManager.cpp.

References llvm::PMTopLevelManager::PassManagers.

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


Member Data Documentation

Definition at line 130 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.