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) override
void getAnalysisUsage (AnalysisUsage &Info) const override
 Pass Manager itself does not invalidate any analysis info.
const char * getPassName () const override
PMDataManagergetAsPMDataManager () override
PassgetAsPass () override
void dumpPassStructure (unsigned Offset) override
 Print passes managed by this manager.
LoopPassgetContainedPass (unsigned N)
PassManagerType getPassManagerType () const override
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.
void deleteSimpleAnalysisLoop (Loop *L)
 Invoke deleteAnalysisLoop hook for all passes.

Static Public Attributes

static char ID = 0

Detailed Description

Definition at line 96 of file LoopPass.h.


Constructor & Destructor Documentation

Definition at line 66 of file LoopPass.cpp.


Member Function Documentation

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 147 of file LoopPass.cpp.

References llvm::LoopPass::cloneBasicBlockAnalysis(), getContainedPass(), and llvm::PMDataManager::getNumContainedPasses().

Delete loop from the loop queue and loop hierarchy (LoopInfo).

Definition at line 75 of file LoopPass.cpp.

References deleteSimpleAnalysisLoop(), I, and llvm::LoopInfo::updateUnloop().

Referenced by llvm::UnrollLoop().

Invoke deleteAnalysisLoop hook for all passes.

Invoke deleteAnalysisLoop hook for all passes that implement simple analysis interface.

Definition at line 171 of file LoopPass.cpp.

References llvm::LoopPass::deleteAnalysisLoop(), getContainedPass(), and llvm::PMDataManager::getNumContainedPasses().

Referenced by deleteLoopFromQueue().

deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.

deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.

Definition at line 156 of file LoopPass.cpp.

References llvm::LoopPass::deleteAnalysisValue(), getContainedPass(), llvm::PMDataManager::getNumContainedPasses(), and I.

Referenced by ReplaceUsesOfWith().

void LPPassManager::dumpPassStructure ( unsigned  Offset) [override, virtual]
void LPPassManager::getAnalysisUsage ( AnalysisUsage Info) const [override, virtual]

Pass Manager itself does not invalidate any analysis info.

Reimplemented from llvm::Pass.

Definition at line 187 of file LoopPass.cpp.

References llvm::AnalysisUsage::addRequired(), and llvm::AnalysisUsage::setPreservesAll().

Pass* llvm::LPPassManager::getAsPass ( ) [inline, override, virtual]

Implements llvm::PMDataManager.

Definition at line 114 of file LoopPass.h.

Referenced by llvm::LoopPass::assignPassManager(), and llvm::UnrollRuntimeLoopProlog().

PMDataManager* llvm::LPPassManager::getAsPMDataManager ( ) [inline, override, virtual]

Reimplemented from llvm::Pass.

Definition at line 113 of file LoopPass.h.

PassManagerType llvm::LPPassManager::getPassManagerType ( ) const [inline, override, virtual]

Reimplemented from llvm::PMDataManager.

Definition at line 125 of file LoopPass.h.

References llvm::PMT_LoopPassManager.

const char* llvm::LPPassManager::getPassName ( ) const [inline, override, 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 109 of file LoopPass.h.

void LPPassManager::insertLoop ( Loop L,
Loop ParentLoop 
)

Definition at line 116 of file LoopPass.cpp.

References llvm::LoopBase< BlockT, LoopT >::getParentLoop(), I, and redoLoop().

Referenced by insertLoop().

Definition at line 140 of file LoopPass.cpp.

Referenced by insertLoopIntoQueue().

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

Member Data Documentation

char LPPassManager::ID = 0 [static]

Definition at line 98 of file LoopPass.h.


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