LLVM API Documentation

llvm::FPPassManager Class Reference

#include <PassManagers.h>

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

List of all members.

Public Member Functions

 FPPassManager (int Depth)
bool runOnFunction (Function &F)
bool runOnModule (Module &M)
bool doInitialization (Module &M)
bool doFinalization (Module &M)
void getAnalysisUsage (AnalysisUsage &Info) const
 Pass Manager itself does not invalidate any analysis info.
void dumpPassStructure (unsigned Offset)
 Print passes managed by this manager.
virtual const char * getPassName () const
FunctionPass * getContainedPass (unsigned N)
virtual PassManagerType getPassManagerType () const

Static Public Attributes

static char ID = 0


Detailed Description

FPPassManager manages BBPassManagers and FunctionPasses. It batches all function passes and basic block pass managers together and sequence them to process one function at a time before processing next function.

Definition at line 382 of file PassManagers.h.


Constructor & Destructor Documentation

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

Definition at line 386 of file PassManagers.h.


Member Function Documentation

bool FPPassManager::runOnFunction ( Function &  F  ) 

bool FPPassManager::runOnModule ( Module &  M  )  [virtual]

runOnModule - Virtual method overriden by subclasses to process the module being operated on.

Implements llvm::ModulePass.

Definition at line 1341 of file PassManager.cpp.

References llvm::Module::begin(), doFinalization(), doInitialization(), E, llvm::Module::end(), and runOnFunction().

bool FPPassManager::doInitialization ( Module &  M  )  [inline]

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

Definition at line 1351 of file PassManager.cpp.

References llvm::FunctionPass::doInitialization(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.

Referenced by llvm::FunctionPassManagerImpl::doInitialization(), and runOnModule().

bool FPPassManager::doFinalization ( Module &  M  )  [inline]

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

Definition at line 1362 of file PassManager.cpp.

References llvm::FunctionPass::doFinalization(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.

Referenced by llvm::FunctionPassManagerImpl::doFinalization(), and runOnModule().

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

Pass Manager itself does not invalidate any analysis info.

Reimplemented from llvm::Pass.

Definition at line 403 of file PassManagers.h.

References llvm::AnalysisUsage::setPreservesAll().

void FPPassManager::dumpPassStructure ( unsigned  Offset  )  [virtual]

Print passes managed by this manager.

Reimplemented from llvm::Pass.

Definition at line 1291 of file PassManager.cpp.

References llvm::cerr(), llvm::PMDataManager::dumpLastUses(), llvm::Pass::dumpPassStructure(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.

virtual const char* llvm::FPPassManager::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 410 of file PassManagers.h.

FunctionPass* llvm::FPPassManager::getContainedPass ( unsigned  N  )  [inline]

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

Reimplemented from llvm::PMDataManager.

Definition at line 420 of file PassManagers.h.

References llvm::PMT_FunctionPassManager.


Member Data Documentation

char FPPassManager::ID = 0 [static]

Definition at line 385 of file PassManagers.h.


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