LLVM API Documentation
Public Member Functions | |
| FunctionPassManagerImpl (int Depth) | |
| void | add (Pass *P) |
| bool | run (Function &F) |
| bool | doInitialization (Module &M) |
| bool | doFinalization (Module &M) |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| void | addTopLevelPass (Pass *P) |
| FPPassManager * | getContainedManager (unsigned N) |
Static Public Attributes | |
| static char | ID = 0 |
Definition at line 127 of file PassManager.cpp.
| llvm::FunctionPassManagerImpl::FunctionPassManagerImpl | ( | int | Depth | ) | [inline, explicit] |
Definition at line 132 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 140 of file PassManager.cpp.
References llvm::PMTopLevelManager::schedulePass().
Referenced by llvm::FunctionPassManager::add(), and llvm::MPPassManager::addLowerLevelRequiredPass().
| bool FunctionPassManagerImpl::run | ( | Function & | F | ) |
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 1269 of file PassManager.cpp.
References llvm::PMTopLevelManager::dumpArguments(), llvm::PMTopLevelManager::dumpPasses(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), Index, llvm::PMTopLevelManager::initializeAllAnalysisInfo(), and llvm::FPPassManager::runOnFunction().
Referenced by llvm::MPPassManager::getOnTheFlyPass(), and llvm::FunctionPassManager::run().
| bool FunctionPassManagerImpl::doInitialization | ( | Module & | M | ) | [inline] |
doInitialization - Run all of the initializers for the function passes.
Definition at line 1245 of file PassManager.cpp.
References llvm::FPPassManager::doInitialization(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), and Index.
Referenced by llvm::FunctionPassManager::doInitialization().
| bool FunctionPassManagerImpl::doFinalization | ( | Module & | M | ) | [inline] |
doFinalization - Run all of the finalizers for the function passes.
Definition at line 1256 of file PassManager.cpp.
References llvm::FPPassManager::doFinalization(), getContainedManager(), llvm::PMTopLevelManager::getNumContainedManagers(), and Index.
Referenced by llvm::FunctionPassManager::doFinalization().
| 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 157 of file PassManager.cpp.
References llvm::AnalysisUsage::setPreservesAll().
| void llvm::FunctionPassManagerImpl::addTopLevelPass | ( | Pass * | P | ) | [inline, virtual] |
This is implemented by top level pass manager and used by schedulePass() to add analysis info passes that are not available.
Implements llvm::PMTopLevelManager.
Definition at line 161 of file PassManager.cpp.
References llvm::PMTopLevelManager::activeStack, llvm::PMTopLevelManager::addImmutablePass(), llvm::Pass::assignPassManager(), llvm::PMDataManager::initializeAnalysisImpl(), llvm::PMDataManager::recordAvailableAnalysis(), and llvm::Pass::setResolver().
| FPPassManager* llvm::FunctionPassManagerImpl::getContainedManager | ( | unsigned | N | ) | [inline] |
Definition at line 178 of file PassManager.cpp.
References llvm::PMTopLevelManager::PassManagers.
Referenced by doFinalization(), doInitialization(), and run().
char llvm::FunctionPassManagerImpl::ID = 0 [static] |
Definition at line 131 of file PassManager.cpp.