LLVM API Documentation
#include <PassManagers.h>


Public Member Functions | |
| FPPassManager () | |
| bool | runOnFunction (Function &F) |
| bool | runOnModule (Module &M) |
| void | cleanup () |
| cleanup - After running all passes, clean up pass manager cache. | |
| bool | doInitialization (Module &M) |
| bool | doFinalization (Module &M) |
| virtual PMDataManager * | getAsPMDataManager () |
| virtual Pass * | getAsPass () |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| void | dumpPassStructure (unsigned Offset) |
| Print passes managed by this manager. | |
| virtual const char * | getPassName () const |
| FunctionPass * | getContainedPass (unsigned N) |
| virtual PassManagerType | getPassManagerType () const |
Static Public Attributes | |
| static char | ID = 0 |
FPPassManager manages BBPassManagers and FunctionPasses. It batches all function passes and basic block pass managers together and sequence them to process one function at a time before processing next function.
Definition at line 408 of file PassManagers.h.
| llvm::FPPassManager::FPPassManager | ( | ) | [inline, explicit] |
Definition at line 411 of file PassManagers.h.
| void FPPassManager::cleanup | ( | ) |
cleanup - After running all passes, clean up pass manager cache.
Definition at line 1452 of file PassManager.cpp.
References llvm::AnalysisResolver::clearAnalysisImpls(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and llvm::Pass::getResolver().
Referenced by llvm::FunctionPassManagerImpl::run().
doFinalization - Run all of the finalizers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1564 of file PassManager.cpp.
References llvm::Pass::doFinalization(), getContainedPass(), and llvm::PMDataManager::getNumContainedPasses().
Referenced by llvm::FunctionPassManagerImpl::doFinalization().
doInitialization - Run all of the initializers for the function passes.
Reimplemented from llvm::Pass.
Definition at line 1555 of file PassManager.cpp.
References llvm::Pass::doInitialization(), getContainedPass(), and llvm::PMDataManager::getNumContainedPasses().
Referenced by llvm::FunctionPassManagerImpl::doInitialization().
| void FPPassManager::dumpPassStructure | ( | unsigned | Offset | ) | [virtual] |
Print passes managed by this manager.
Reimplemented from llvm::Pass.
Definition at line 1495 of file PassManager.cpp.
References llvm::dbgs(), llvm::PMDataManager::dumpLastUses(), llvm::Pass::dumpPassStructure(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and llvm::raw_ostream::indent().
| void llvm::FPPassManager::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [inline, virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 444 of file PassManagers.h.
References llvm::AnalysisUsage::setPreservesAll().
| virtual Pass* llvm::FPPassManager::getAsPass | ( | ) | [inline, virtual] |
Implements llvm::PMDataManager.
Definition at line 441 of file PassManagers.h.
| virtual PMDataManager* llvm::FPPassManager::getAsPMDataManager | ( | ) | [inline, virtual] |
Reimplemented from llvm::Pass.
Definition at line 440 of file PassManagers.h.
| FunctionPass* llvm::FPPassManager::getContainedPass | ( | unsigned | N | ) | [inline] |
Definition at line 455 of file PassManagers.h.
References llvm::PMDataManager::PassVector, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by cleanup(), doFinalization(), doInitialization(), dumpPassStructure(), llvm::FunctionPassManagerImpl::releaseMemoryOnTheFly(), and runOnFunction().
| virtual PassManagerType llvm::FPPassManager::getPassManagerType | ( | ) | const [inline, virtual] |
Reimplemented from llvm::PMDataManager.
Definition at line 461 of file PassManagers.h.
References llvm::PMT_FunctionPassManager.
| virtual const char* llvm::FPPassManager::getPassName | ( | ) | const [inline, virtual] |
getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 451 of file PassManagers.h.
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.
Execute all of the passes scheduled for execution by invoking runOnFunction method. Keep track of whether any of the passes modifies the function, and if so, return true.
Definition at line 1508 of file PassManager.cpp.
References llvm::PMTopLevelManager::activeStack, llvm::PMDataManager::dumpPassInfo(), llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::dumpRequiredSet(), llvm::EXECUTION_MSG, getContainedPass(), llvm::Value::getName(), llvm::PMDataManager::getNumContainedPasses(), llvm::getPassTimer(), llvm::PMDataManager::initializeAnalysisImpl(), llvm::GlobalValue::isDeclaration(), llvm::MODIFICATION_MSG, llvm::ON_FUNCTION_MSG, llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMDataManager::recordAvailableAnalysis(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::FunctionPass::runOnFunction(), llvm::PMDataManager::TPM, llvm::PMDataManager::verifyPreservedAnalysis(), and llvm::X.
Referenced by llvm::FunctionPassManagerImpl::run(), and runOnModule().
runOnModule - Virtual method overriden by subclasses to process the module being operated on.
Implements llvm::ModulePass.
Definition at line 1546 of file PassManager.cpp.
References llvm::Module::begin(), llvm::Module::end(), llvm::ARM_PROC::I, and runOnFunction().
char FPPassManager::ID = 0 [static] |
Definition at line 410 of file PassManagers.h.