LLVM API Documentation
FunctionPassManager manages FunctionPasses and BasicBlockPassManagers. More...
#include <PassManager.h>


Public Member Functions | |
| FunctionPassManager (Module *M) | |
| Create new Function pass manager. | |
| ~FunctionPassManager () | |
| void | add (Pass *P) |
| bool | run (Function &F) |
| bool | doInitialization () |
| bool | doFinalization () |
FunctionPassManager manages FunctionPasses and BasicBlockPassManagers.
Definition at line 69 of file PassManager.h.
| FunctionPassManager::FunctionPassManager | ( | Module * | M | ) | [explicit] |
Create new Function pass manager.
FunctionPassManager ctor - This initializes the pass manager. It needs, but does not take ownership of, the specified Module.
Definition at line 1367 of file PassManager.cpp.
References llvm::Pass::setResolver(), and llvm::PMDataManager::setTopLevelManager().
| FunctionPassManager::~FunctionPassManager | ( | ) |
Definition at line 1376 of file PassManager.cpp.
| 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. 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 1385 of file PassManager.cpp.
References llvm::FunctionPassManagerImpl::add().
Referenced by llvm::JIT::addModule(), llvm::PassManagerBuilder::populateFunctionPassManager(), and llvm::JIT::removeModule().
| bool FunctionPassManager::doFinalization | ( | ) |
doFinalization - Run all of the finalizers for the function passes.
Definition at line 1411 of file PassManager.cpp.
References llvm::FunctionPassManagerImpl::doFinalization().
| bool FunctionPassManager::doInitialization | ( | ) |
doInitialization - Run all of the initializers for the function passes.
Definition at line 1405 of file PassManager.cpp.
References llvm::FunctionPassManagerImpl::doInitialization().
Referenced by llvm::JIT::addModule(), and llvm::JIT::removeModule().
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 1393 of file PassManager.cpp.
References llvm::GlobalValue::isMaterializable(), llvm::GlobalValue::Materialize(), llvm::report_fatal_error(), and llvm::FunctionPassManagerImpl::run().