LLVM API Documentation

llvm::FunctionPassManager Class Reference

FunctionPassManager manages FunctionPasses and BasicBlockPassManagers. More...

#include <PassManager.h>

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

List of all members.

Public Member Functions

 FunctionPassManager (ModuleProvider *P)
 Create new Function pass manager.
 ~FunctionPassManager ()
void add (Pass *P)
bool run (Function &F)
bool doInitialization ()
bool doFinalization ()
ModuleProvider * getModuleProvider () const
void setModuleProvider (ModuleProvider *NewMP)


Detailed Description

FunctionPassManager manages FunctionPasses and BasicBlockPassManagers.

Definition at line 71 of file PassManager.h.


Constructor & Destructor Documentation

FunctionPassManager::FunctionPassManager ( ModuleProvider *  P  )  [explicit]

Create new Function pass manager.

FunctionPassManager ctor - This initializes the pass manager. It needs, but does not take ownership of, the specified module provider.

Definition at line 1192 of file PassManager.cpp.

References llvm::Pass::setResolver(), and llvm::PMDataManager::setTopLevelManager().

FunctionPassManager::~FunctionPassManager (  ) 

Definition at line 1203 of file PassManager.cpp.


Member Function Documentation

void FunctionPassManager::add ( Pass *  P  )  [virtual]

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

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

Implements llvm::PassManagerBase.

Definition at line 1212 of file PassManager.cpp.

References llvm::FunctionPassManagerImpl::add().

Referenced by llvm::JIT::addModuleProvider().

bool FunctionPassManager::run ( Function &  F  ) 

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

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

Definition at line 1220 of file PassManager.cpp.

References llvm::cerr(), llvm::ModuleProvider::materializeFunction(), and llvm::FunctionPassManagerImpl::run().

bool FunctionPassManager::doInitialization (  ) 

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

Definition at line 1232 of file PassManager.cpp.

References llvm::FunctionPassManagerImpl::doInitialization(), and llvm::ModuleProvider::getModule().

Referenced by llvm::JIT::addModuleProvider().

bool FunctionPassManager::doFinalization (  ) 

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

Definition at line 1238 of file PassManager.cpp.

References llvm::FunctionPassManagerImpl::doFinalization(), and llvm::ModuleProvider::getModule().

ModuleProvider* llvm::FunctionPassManager::getModuleProvider (  )  const [inline]

getModuleProvider - Return the module provider that this passmanager is currently using. This is the module provider that it uses when a function is optimized that is non-resident in the module.

Definition at line 102 of file PassManager.h.

void llvm::FunctionPassManager::setModuleProvider ( ModuleProvider *  NewMP  )  [inline]

Definition at line 103 of file PassManager.h.


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