LLVM API Documentation
PassManagerImpl manages MPPassManagers. More...


Public Member Functions | |
| PassManagerImpl () | |
| void | add (Pass *P) |
| Pass * | createPrinterPass (raw_ostream &O, const std::string &Banner) const |
| createPrinterPass - Get a module printer pass. | |
| bool | run (Module &M) |
| bool | doInitialization () |
| bool | doFinalization () |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| virtual PMDataManager * | getAsPMDataManager () |
| virtual Pass * | getAsPass () |
| virtual PassManagerType | getTopLevelPassManagerType () |
| MPPassManager * | getContainedManager (unsigned N) |
Static Public Attributes | |
| static char | ID = 0 |
PassManagerImpl manages MPPassManagers.
Definition at line 380 of file PassManager.cpp.
| llvm::PassManagerImpl::PassManagerImpl | ( | ) | [inline, explicit] |
Definition at line 387 of file PassManager.cpp.
| void llvm::PassManagerImpl::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 395 of file PassManager.cpp.
Referenced by llvm::PassManager::add().
| Pass* llvm::PassManagerImpl::createPrinterPass | ( | raw_ostream & | O, |
| const std::string & | Banner | ||
| ) | const [inline, virtual] |
createPrinterPass - Get a module printer pass.
Implements llvm::Pass.
Definition at line 400 of file PassManager.cpp.
References llvm::createPrintModulePass().
| bool llvm::PassManagerImpl::doFinalization | ( | ) |
doFinalization - Run all of the finalizers for the module passes.
| bool llvm::PassManagerImpl::doInitialization | ( | ) |
doInitialization - Run all of the initializers for the module passes.
| void llvm::PassManagerImpl::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [inline, virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 420 of file PassManager.cpp.
References llvm::AnalysisUsage::setPreservesAll().
| virtual Pass* llvm::PassManagerImpl::getAsPass | ( | ) | [inline, virtual] |
Implements llvm::PMDataManager.
Definition at line 425 of file PassManager.cpp.
| virtual PMDataManager* llvm::PassManagerImpl::getAsPMDataManager | ( | ) | [inline, virtual] |
Reimplemented from llvm::Pass.
Definition at line 424 of file PassManager.cpp.
| MPPassManager* llvm::PassManagerImpl::getContainedManager | ( | unsigned | N | ) | [inline] |
Definition at line 430 of file PassManager.cpp.
Referenced by run().
| virtual PassManagerType llvm::PassManagerImpl::getTopLevelPassManagerType | ( | ) | [inline, virtual] |
Implements llvm::PMTopLevelManager.
Definition at line 426 of file PassManager.cpp.
References llvm::PMT_ModulePassManager.
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 1688 of file PassManager.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), llvm::SmallVectorTemplateCommon< T, typename >::end(), getContainedManager(), llvm::PMTopLevelManager::getImmutablePasses(), llvm::PMTopLevelManager::getNumContainedManagers(), I, llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::MPPassManager::runOnModule().
Referenced by llvm::PassManager::run().
char llvm::PassManagerImpl::ID = 0 [static] |
Definition at line 386 of file PassManager.cpp.