LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::LoopPass Class Reference

#include <LoopPass.h>

Inheritance diagram for llvm::LoopPass:

Inheritance graph
[legend]
Collaboration diagram for llvm::LoopPass:

Collaboration graph
[legend]
List of all members.

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.

Constructor & Destructor Documentation

llvm::LoopPass::LoopPass intptr_t  pid  )  [inline, explicit]
 

Definition at line 32 of file LoopPass.h.

llvm::LoopPass::LoopPass void *  pid  )  [inline, explicit]
 

Definition at line 33 of file LoopPass.h.


Member Function Documentation

void LoopPass::assignPassManager PMStack PMS,
PassManagerType  PMT = PMT_LoopPassManager
[virtual]
 

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().

virtual void llvm::LoopPass::cloneBasicBlockAnalysis BasicBlock F,
BasicBlock T,
Loop L
[inline, virtual]
 

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().

virtual void llvm::LoopPass::deleteAnalysisValue Value V,
Loop L
[inline, virtual]
 

deletekAnalysisValue - Delete analysis info associated with value V.

Definition at line 81 of file LoopPass.h.

References llvm::Loop.

Referenced by llvm::LPPassManager::deleteSimpleAnalysisValue().

virtual bool llvm::LoopPass::doFinalization  )  [inline, virtual]
 

Reimplemented in LICM.

Definition at line 49 of file LoopPass.h.

Referenced by llvm::LPPassManager::runOnFunction().

virtual bool llvm::LoopPass::doInitialization Loop L,
LPPassManager LPM
[inline, virtual]
 

Reimplemented in IndVarSimplify.

Definition at line 43 of file LoopPass.h.

References llvm::Loop.

Referenced by llvm::LPPassManager::runOnFunction().

virtual PassManagerType llvm::LoopPass::getPotentialPassManagerType  )  const [inline, virtual]
 

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.

void LoopPass::preparePassManager PMStack PMS  )  [virtual]
 

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().

virtual bool llvm::LoopPass::runOnFunctionBody Function F,
LPPassManager LPM
[inline, virtual]
 

Definition at line 38 of file LoopPass.h.

virtual bool llvm::LoopPass::runOnLoop Loop L,
LPPassManager LPM
[pure virtual]
 

Implemented in IndVarSimplify, LICM, LoopDeletion, LoopIndexSplit, LoopRotate, LoopStrengthReduce, LoopUnroll, LoopUnswitch, and LCSSA.

Referenced by llvm::LPPassManager::runOnFunction().


The documentation for this class was generated from the following files:


This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.