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 override |
createPrinterPass - Get a module printer pass. | |
bool | run (Module &M) |
bool | doInitialization () |
bool | doFinalization () |
void | getAnalysisUsage (AnalysisUsage &Info) const override |
Pass Manager itself does not invalidate any analysis info. | |
PMDataManager * | getAsPMDataManager () override |
Pass * | getAsPass () override |
PassManagerType | getTopLevelPassManagerType () override |
MPPassManager * | getContainedManager (unsigned N) |
Static Public Attributes | |
static char | ID = 0 |
PassManagerImpl manages MPPassManagers.
Definition at line 390 of file LegacyPassManager.cpp.
llvm::legacy::PassManagerImpl::PassManagerImpl | ( | ) | [inline, explicit] |
Definition at line 397 of file LegacyPassManager.cpp.
void llvm::legacy::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 405 of file LegacyPassManager.cpp.
Referenced by llvm::legacy::PassManager::add().
Pass* llvm::legacy::PassManagerImpl::createPrinterPass | ( | raw_ostream & | O, |
const std::string & | Banner | ||
) | const [inline, override, virtual] |
createPrinterPass - Get a module printer pass.
Implements llvm::Pass.
Definition at line 410 of file LegacyPassManager.cpp.
References llvm::createPrintModulePass().
doFinalization - Run all of the finalizers for the module passes.
doInitialization - Run all of the initializers for the module passes.
void llvm::legacy::PassManagerImpl::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [inline, override, virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 431 of file LegacyPassManager.cpp.
References llvm::AnalysisUsage::setPreservesAll().
Pass* llvm::legacy::PassManagerImpl::getAsPass | ( | ) | [inline, override, virtual] |
Implements llvm::PMDataManager.
Definition at line 436 of file LegacyPassManager.cpp.
PMDataManager* llvm::legacy::PassManagerImpl::getAsPMDataManager | ( | ) | [inline, override, virtual] |
Implements llvm::PMTopLevelManager.
Definition at line 435 of file LegacyPassManager.cpp.
MPPassManager* llvm::legacy::PassManagerImpl::getContainedManager | ( | unsigned | N | ) | [inline] |
Definition at line 441 of file LegacyPassManager.cpp.
Referenced by run().
PassManagerType llvm::legacy::PassManagerImpl::getTopLevelPassManagerType | ( | ) | [inline, override, virtual] |
Implements llvm::PMTopLevelManager.
Definition at line 437 of file LegacyPassManager.cpp.
References llvm::PMT_ModulePassManager.
bool PassManagerImpl::run | ( | Module & | M | ) |
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 1714 of file LegacyPassManager.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), llvm::SmallVectorTemplateCommon< T, typename >::end(), getContainedManager(), llvm::Module::getContext(), llvm::PMTopLevelManager::getImmutablePasses(), llvm::PMTopLevelManager::getNumContainedManagers(), I, llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::LLVMContext::yield().
Referenced by llvm::legacy::PassManager::run().
char llvm::legacy::PassManagerImpl::ID = 0 [static] |
Definition at line 396 of file LegacyPassManager.cpp.