LLVM API Documentation

Public Member Functions | Static Public Attributes
llvm::LPPassManager Class Reference

#include <LoopPass.h>

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

List of all members.

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 PMDataManagergetAsPMDataManager ()
virtual PassgetAsPass ()
void dumpPassStructure (unsigned Offset)
 Print passes managed by this manager.
LoopPassgetContainedPass (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

Detailed Description

Definition at line 86 of file LoopPass.h.


Constructor & Destructor Documentation

LPPassManager::LPPassManager ( ) [explicit]

Definition at line 60 of file LoopPass.cpp.


Member Function Documentation

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

void LPPassManager::deleteSimpleAnalysisValue ( Value V,
Loop L 
)

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]
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.

LoopPass* llvm::LPPassManager::getContainedPass ( unsigned  N) [inline]
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.

void LPPassManager::insertLoop ( Loop L,
Loop ParentLoop 
)
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().

bool LPPassManager::runOnFunction ( Function F) [virtual]

Member Data Documentation

char LPPassManager::ID = 0 [static]

Definition at line 88 of file LoopPass.h.


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