LLVM API Documentation
FunctionPassManagerImpl manages FPPassManagers. More...


Public Member Functions | |
| FunctionPassManagerImpl () | |
| void | add (Pass *P) |
| Pass * | createPrinterPass (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 PMDataManager * | getAsPMDataManager () |
| virtual Pass * | getAsPass () |
| virtual PassManagerType | getTopLevelPassManagerType () |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| FPPassManager * | getContainedManager (unsigned N) |
Static Public Attributes | |
| static char | ID = 0 |
FunctionPassManagerImpl manages FPPassManagers.
Definition at line 217 of file PassManager.cpp.
| llvm::FunctionPassManagerImpl::FunctionPassManagerImpl | ( | ) | [inline, explicit] |
Definition at line 225 of file PassManager.cpp.
| 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().
doFinalization - Run all of the finalizers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1436 of file PassManager.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::FPPassManager::doFinalization(), llvm::SmallVectorTemplateCommon< T, typename >::end(), getContainedManager(), llvm::PMTopLevelManager::getImmutablePasses(), llvm::PMTopLevelManager::getNumContainedManagers(), and I.
Referenced by llvm::FunctionPassManager::doFinalization(), and llvm::MPPassManager::runOnModule().
doInitialization - Run all of the initializers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1418 of file PassManager.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::FPPassManager::doInitialization(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), llvm::SmallVectorTemplateCommon< T, typename >::end(), getContainedManager(), llvm::PMTopLevelManager::getImmutablePasses(), llvm::PMTopLevelManager::getNumContainedManagers(), and I.
Referenced by llvm::FunctionPassManager::doInitialization(), and llvm::MPPassManager::runOnModule().
| 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 | ( | ) |
Definition at line 1461 of file PassManager.cpp.
References getContainedManager(), llvm::FPPassManager::getContainedPass(), llvm::PMTopLevelManager::getNumContainedManagers(), llvm::PMDataManager::getNumContainedPasses(), and llvm::Pass::releaseMemory().
Referenced by llvm::MPPassManager::getOnTheFlyPass(), and llvm::MPPassManager::runOnModule().
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().
char llvm::FunctionPassManagerImpl::ID = 0 [static] |
Definition at line 224 of file PassManager.cpp.