LLVM API Documentation
#include <LoopPass.h>
Inheritance diagram for llvm::LoopPass:


Public Member Functions | |
| LoopPass (intptr_t pid) | |
| LoopPass (void *pid) | |
| virtual bool | runOnLoop (Loop *L, LPPassManager &LPM)=0 |
| virtual bool | runOnFunctionBody (Function &F, LPPassManager &LPM) |
| virtual bool | doInitialization (Loop *L, LPPassManager &LPM) |
| virtual bool | doFinalization () |
| void | preparePassManager (PMStack &PMS) |
| Check if available pass managers are suitable for this pass or not. | |
| virtual void | assignPassManager (PMStack &PMS, PassManagerType PMT=PMT_LoopPassManager) |
| Assign pass manager to manager this pass. | |
| virtual PassManagerType | getPotentialPassManagerType () const |
| Return what kind of Pass Manager can manage this pass. | |
| virtual void | cloneBasicBlockAnalysis (BasicBlock *F, BasicBlock *T, Loop *L) |
| virtual void | deleteAnalysisValue (Value *V, Loop *L) |
| deletekAnalysisValue - Delete analysis info associated with value V. | |
|
|
Definition at line 32 of file LoopPass.h. |
|
|
Definition at line 33 of file LoopPass.h. |
|
||||||||||||
|
Assign pass manager to manager this pass.
Reimplemented from llvm::Pass. Definition at line 291 of file LoopPass.cpp. References llvm::PMDataManager::add(), llvm::PMTopLevelManager::addIndirectPassManager(), llvm::PMStack::empty(), llvm::PMDataManager::getDepth(), llvm::PMDataManager::getPassManagerType(), llvm::PMDataManager::getTopLevelManager(), llvm::PMStack::pop(), llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMStack::push(), llvm::PMTopLevelManager::schedulePass(), and llvm::PMStack::top(). |
|
||||||||||||||||
|
Each loop pass can override these simple analysis hooks to update desired analysis information. cloneBasicBlockAnalysis - Clone analysis info associated with basic block. Definition at line 78 of file LoopPass.h. References llvm::Loop. Referenced by llvm::LPPassManager::cloneBasicBlockSimpleAnalysis(). |
|
||||||||||||
|
deletekAnalysisValue - Delete analysis info associated with value V.
Definition at line 81 of file LoopPass.h. References llvm::Loop. Referenced by llvm::LPPassManager::deleteSimpleAnalysisValue(). |
|
|
Reimplemented in LICM. Definition at line 49 of file LoopPass.h. Referenced by llvm::LPPassManager::runOnFunction(). |
|
||||||||||||
|
Reimplemented in IndVarSimplify. Definition at line 43 of file LoopPass.h. References llvm::Loop. Referenced by llvm::LPPassManager::runOnFunction(). |
|
|
Return what kind of Pass Manager can manage this pass.
Reimplemented from llvm::Pass. Definition at line 64 of file LoopPass.h. References llvm::PassManagerType. |
|
|
Check if available pass managers are suitable for this pass or not.
Reimplemented from llvm::Pass. Definition at line 274 of file LoopPass.cpp. References llvm::PMStack::empty(), llvm::PMDataManager::getPassManagerType(), llvm::PMStack::pop(), llvm::PMDataManager::preserveHigherLevelAnalysis(), and llvm::PMStack::top(). |
|
||||||||||||
|
Definition at line 38 of file LoopPass.h. |
|
||||||||||||
|
Implemented in IndVarSimplify, LICM, LoopDeletion, LoopIndexSplit, LoopRotate, LoopStrengthReduce, LoopUnroll, LoopUnswitch, and LCSSA. Referenced by llvm::LPPassManager::runOnFunction(). |