LLVM API Documentation
#include <LoopPass.h>


Public Member Functions | |
| LPPassManager (int Depth) | |
| LPPassManager manages FPPassManagers and CalLGraphSCCPasses. | |
| bool | runOnFunction (Function &F) |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| virtual const char * | getPassName () const |
| void | dumpPassStructure (unsigned Offset) |
| Pass * | getContainedPass (unsigned N) |
| virtual PassManagerType | getPassManagerType () const |
| void | deleteLoopFromQueue (Loop *L) |
| Delete loop from the loop queue and loop hierarchy (LoopInfo). | |
| void | insertLoop (Loop *L, Loop *ParentLoop) |
| void | redoLoop (Loop *L) |
| void | cloneBasicBlockSimpleAnalysis (BasicBlock *From, BasicBlock *To, Loop *L) |
| void | deleteSimpleAnalysisValue (Value *V, Loop *L) |
| deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes. | |
Static Public Attributes | |
| static char | ID = 0 |
Definition at line 84 of file LoopPass.h.
| LPPassManager::LPPassManager | ( | int | Depth | ) | [explicit] |
LPPassManager manages FPPassManagers and CalLGraphSCCPasses.
Definition at line 27 of file LoopPass.cpp.
References LI.
| bool LPPassManager::runOnFunction | ( | Function & | F | ) | [virtual] |
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.
run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the function, and if so, return true.
Implements llvm::FunctionPass.
Definition at line 183 of file LoopPass.cpp.
References llvm::PMTopLevelManager::activeStack, addLoopIntoQueue(), llvm::LoopInfo::begin(), Changed, llvm::LoopPass::doFinalization(), llvm::LoopPass::doInitialization(), llvm::PMDataManager::dumpPassInfo(), llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::dumpRequiredSet(), E, llvm::LoopInfo::end(), llvm::EXECUTION_MSG, getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), I, Index, llvm::PMDataManager::initializeAnalysisImpl(), L, LI, llvm::MODIFICATION_MSG, llvm::ON_LOOP_MSG, llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMDataManager::recordAvailableAnalysis(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::LoopPass::runOnLoop(), StartPassTimer(), StopPassTimer(), llvm::PMDataManager::TPM, llvm::PMDataManager::verifyDomInfo(), and llvm::PMDataManager::verifyPreservedAnalysis().
| void LPPassManager::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 172 of file LoopPass.cpp.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
| virtual const char* llvm::LPPassManager::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.
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 98 of file LoopPass.h.
| void llvm::LPPassManager::dumpPassStructure | ( | unsigned | Offset | ) | [inline, virtual] |
Reimplemented from llvm::Pass.
Definition at line 103 of file LoopPass.h.
References llvm::cerr(), llvm::PMDataManager::dumpLastUses(), llvm::Pass::dumpPassStructure(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.
Definition at line 112 of file LoopPass.h.
References llvm::PMDataManager::PassVector.
Referenced by cloneBasicBlockSimpleAnalysis(), deleteSimpleAnalysisValue(), dumpPassStructure(), and runOnFunction().
| virtual PassManagerType llvm::LPPassManager::getPassManagerType | ( | ) | const [inline, virtual] |
Reimplemented from llvm::PMDataManager.
Definition at line 118 of file LoopPass.h.
References llvm::PMT_LoopPassManager.
| void LPPassManager::deleteLoopFromQueue | ( | Loop * | L | ) |
Delete loop from the loop queue and loop hierarchy (LoopInfo).
Definition at line 36 of file LoopPass.cpp.
References llvm::LoopInfo::addTopLevelLoop(), llvm::LoopInfo::begin(), llvm::LoopBase< BlockT >::block_begin(), llvm::LoopBase< BlockT >::block_end(), llvm::LoopInfo::changeLoopFor(), E, llvm::LoopBase< BlockT >::empty(), llvm::LoopInfo::end(), llvm::LoopBase< BlockT >::end(), llvm::LoopBase< BlockT >::getBlocks(), llvm::LoopInfo::getLoopFor(), llvm::LoopBase< BlockT >::getParentLoop(), I, LI, llvm::LoopInfo::removeBlock(), llvm::LoopBase< BlockT >::removeChildLoop(), and llvm::LoopInfo::removeLoop().
Referenced by llvm::UnrollLoop().
Definition at line 105 of file LoopPass.cpp.
References llvm::LoopBase< BlockT >::addChildLoop(), llvm::LoopInfo::addTopLevelLoop(), E, I, LI, and redoLoop().
Referenced by CloneLoop(), and llvm::CloneLoop().
| void LPPassManager::redoLoop | ( | Loop * | L | ) |
| void LPPassManager::cloneBasicBlockSimpleAnalysis | ( | BasicBlock * | From, | |
| BasicBlock * | To, | |||
| Loop * | L | |||
| ) |
SimpleAnalysis - Provides simple interface to update analysis info maintained by various passes. Note, if required this interface can be extracted into a separate abstract class but it would require additional use of multiple inheritance in Pass class hierarchy, something we are trying to avoid. cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for all passes that implement simple analysis interface.
cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for all loop passes.
Definition at line 145 of file LoopPass.cpp.
References llvm::LoopPass::cloneBasicBlockAnalysis(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.
Referenced by llvm::CloneLoop().
deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.
deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.
Definition at line 155 of file LoopPass.cpp.
References llvm::LoopPass::deleteAnalysisValue(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and Index.
Referenced by ReplaceUsesOfWith().
char LPPassManager::ID = 0 [static] |
Definition at line 87 of file LoopPass.h.