LLVM API Documentation
#include <LoopPass.h>


Public Member Functions | |
| LPPassManager () | |
| bool | runOnFunction (Function &F) |
| void | getAnalysisUsage (AnalysisUsage &Info) const |
| Pass Manager itself does not invalidate any analysis info. | |
| virtual const char * | getPassName () const |
| virtual PMDataManager * | getAsPMDataManager () |
| virtual Pass * | getAsPass () |
| void | dumpPassStructure (unsigned Offset) |
| Print passes managed by this manager. | |
| LoopPass * | 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 | insertLoopIntoQueue (Loop *L) |
| 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 86 of file LoopPass.h.
| LPPassManager::LPPassManager | ( | ) | [explicit] |
Definition at line 60 of file LoopPass.cpp.
| 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 138 of file LoopPass.cpp.
References llvm::LoopPass::cloneBasicBlockAnalysis(), getContainedPass(), and llvm::PMDataManager::getNumContainedPasses().
| void LPPassManager::deleteLoopFromQueue | ( | Loop * | L | ) |
Delete loop from the loop queue and loop hierarchy (LoopInfo).
Definition at line 69 of file LoopPass.cpp.
References I, and llvm::LoopInfo::updateUnloop().
Referenced by llvm::UnrollLoop().
deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.
deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.
Definition at line 147 of file LoopPass.cpp.
References llvm::LoopPass::deleteAnalysisValue(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and I.
Referenced by ReplaceUsesOfWith().
| void LPPassManager::dumpPassStructure | ( | unsigned | Offset | ) | [virtual] |
Print passes managed by this manager.
Reimplemented from llvm::Pass.
Definition at line 290 of file LoopPass.cpp.
References llvm::PMDataManager::dumpLastUses(), llvm::Pass::dumpPassStructure(), llvm::errs(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), llvm::raw_ostream::indent(), and P.
| void LPPassManager::getAnalysisUsage | ( | AnalysisUsage & | Info | ) | const [virtual] |
Pass Manager itself does not invalidate any analysis info.
Reimplemented from llvm::Pass.
Definition at line 170 of file LoopPass.cpp.
References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().
| virtual Pass* llvm::LPPassManager::getAsPass | ( | ) | [inline, virtual] |
Implements llvm::PMDataManager.
Definition at line 104 of file LoopPass.h.
Referenced by llvm::LoopPass::assignPassManager(), and llvm::UnrollRuntimeLoopProlog().
| virtual PMDataManager* llvm::LPPassManager::getAsPMDataManager | ( | ) | [inline, virtual] |
Reimplemented from llvm::Pass.
Definition at line 103 of file LoopPass.h.
Definition at line 109 of file LoopPass.h.
References llvm::PMDataManager::PassVector, and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by cloneBasicBlockSimpleAnalysis(), deleteSimpleAnalysisValue(), dumpPassStructure(), and runOnFunction().
| virtual PassManagerType llvm::LPPassManager::getPassManagerType | ( | ) | const [inline, virtual] |
Reimplemented from llvm::PMDataManager.
Definition at line 115 of file LoopPass.h.
References llvm::PMT_LoopPassManager.
| 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.
Reimplemented from llvm::Pass.
Definition at line 99 of file LoopPass.h.
Definition at line 94 of file LoopPass.cpp.
References llvm::LoopBase< BlockT, LoopT >::addChildLoop(), llvm::LoopInfo::addTopLevelLoop(), and insertLoopIntoQueue().
Referenced by CloneLoop().
| void LPPassManager::insertLoopIntoQueue | ( | Loop * | L | ) |
Definition at line 107 of file LoopPass.cpp.
References llvm::LoopBase< BlockT, LoopT >::getParentLoop(), I, and redoLoop().
Referenced by insertLoop().
| void LPPassManager::redoLoop | ( | Loop * | L | ) |
Definition at line 131 of file LoopPass.cpp.
Referenced by insertLoopIntoQueue().
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 179 of file LoopPass.cpp.
References llvm::PMTopLevelManager::activeStack, addLoopIntoQueue(), llvm::LoopPass::doFinalization(), llvm::LoopPass::doInitialization(), llvm::PMDataManager::dumpPassInfo(), llvm::PMDataManager::dumpPreservedSet(), llvm::PMDataManager::dumpRequiredSet(), llvm::EXECUTION_MSG, llvm::PMDataManager::freePass(), getContainedPass(), llvm::LoopBase< BlockT, LoopT >::getHeader(), llvm::Value::getName(), llvm::PMDataManager::getNumContainedPasses(), llvm::getPassTimer(), I, llvm::PMDataManager::initializeAnalysisImpl(), llvm::MODIFICATION_MSG, llvm::ON_LOOP_MSG, P, llvm::PMDataManager::populateInheritedAnalysis(), llvm::LoopInfo::rbegin(), llvm::PMDataManager::recordAvailableAnalysis(), llvm::PMDataManager::removeDeadPasses(), llvm::PMDataManager::removeNotPreservedAnalysis(), llvm::LoopInfo::rend(), llvm::LoopPass::runOnLoop(), llvm::PMDataManager::TPM, llvm::LoopBase< BlockT, LoopT >::verifyLoop(), llvm::PMDataManager::verifyPreservedAnalysis(), and llvm::X.
char LPPassManager::ID = 0 [static] |
Definition at line 88 of file LoopPass.h.