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 override |
createPrinterPass - Get a function printer pass. | |
void | releaseMemoryOnTheFly () |
bool | run (Function &F) |
bool | doInitialization (Module &M) override |
bool | doFinalization (Module &M) override |
PMDataManager * | getAsPMDataManager () override |
Pass * | getAsPass () override |
PassManagerType | getTopLevelPassManagerType () override |
void | getAnalysisUsage (AnalysisUsage &Info) const override |
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 218 of file LegacyPassManager.cpp.
llvm::legacy::FunctionPassManagerImpl::FunctionPassManagerImpl | ( | ) | [inline, explicit] |
Definition at line 226 of file LegacyPassManager.cpp.
void llvm::legacy::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 234 of file LegacyPassManager.cpp.
Referenced by llvm::legacy::FunctionPassManager::add().
Pass* llvm::legacy::FunctionPassManagerImpl::createPrinterPass | ( | raw_ostream & | O, |
const std::string & | Banner | ||
) | const [inline, override, virtual] |
createPrinterPass - Get a function printer pass.
Implements llvm::Pass.
Definition at line 239 of file LegacyPassManager.cpp.
References llvm::createPrintFunctionPass().
bool FunctionPassManagerImpl::doFinalization | ( | Module & | M | ) | [override, virtual] |
doFinalization - Run all of the finalizers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1448 of file LegacyPassManager.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::legacy::FunctionPassManager::doFinalization().
bool FunctionPassManagerImpl::doInitialization | ( | Module & | M | ) | [override, virtual] |
doInitialization - Run all of the initializers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1430 of file LegacyPassManager.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::legacy::FunctionPassManager::doInitialization().
void llvm::legacy::FunctionPassManagerImpl::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [inline, override, virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 268 of file LegacyPassManager.cpp.
References llvm::AnalysisUsage::setPreservesAll().
Pass* llvm::legacy::FunctionPassManagerImpl::getAsPass | ( | ) | [inline, override, virtual] |
Implements llvm::PMDataManager.
Definition at line 262 of file LegacyPassManager.cpp.
PMDataManager* llvm::legacy::FunctionPassManagerImpl::getAsPMDataManager | ( | ) | [inline, override, virtual] |
Implements llvm::PMTopLevelManager.
Definition at line 261 of file LegacyPassManager.cpp.
Definition at line 272 of file LegacyPassManager.cpp.
Referenced by doFinalization(), doInitialization(), releaseMemoryOnTheFly(), and run().
PassManagerType llvm::legacy::FunctionPassManagerImpl::getTopLevelPassManagerType | ( | ) | [inline, override, virtual] |
Implements llvm::PMTopLevelManager.
Definition at line 263 of file LegacyPassManager.cpp.
References llvm::PMT_FunctionPassManager.
Definition at line 1473 of file LegacyPassManager.cpp.
References getContainedManager(), llvm::FPPassManager::getContainedPass(), llvm::PMTopLevelManager::getNumContainedManagers(), llvm::PMDataManager::getNumContainedPasses(), and llvm::Pass::releaseMemory().
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 1487 of file LegacyPassManager.cpp.
References llvm::FPPassManager::cleanup(), getContainedManager(), llvm::Function::getContext(), llvm::PMTopLevelManager::getNumContainedManagers(), llvm::PMTopLevelManager::initializeAllAnalysisInfo(), llvm::FPPassManager::runOnFunction(), and llvm::LLVMContext::yield().
Referenced by llvm::legacy::FunctionPassManager::run().
char llvm::legacy::FunctionPassManagerImpl::ID = 0 [static] |
Definition at line 225 of file LegacyPassManager.cpp.