LLVM  mainline
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
 run - Execute all of the passes scheduled for execution.
void getAnalysisUsage (AnalysisUsage &Info) const override
 Pass Manager itself does not invalidate any analysis info.
const char * getPassName () const override
 getPassName - Return a nice clean name for a pass.
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)
 SimpleAnalysis - Provides simple interface to update analysis info maintained by various passes.
void deleteSimpleAnalysisValue (Value *V, Loop *L)
 deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.
void deleteSimpleAnalysisLoop (Loop *L)
 Invoke deleteAnalysisLoop hook for all passes that implement simple analysis interface.

Static Public Attributes

static char ID = 0

Detailed Description

Definition at line 96 of file LoopPass.h.


Constructor & Destructor Documentation

Definition at line 67 of file LoopPass.cpp.


Member Function Documentation

SimpleAnalysis - Provides simple interface to update analysis info maintained by various passes.

cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for all loop 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.

Definition at line 148 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 76 of file LoopPass.cpp.

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

Referenced by llvm::UnrollLoop().

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

Invoke deleteAnalysisLoop hook for all passes.

Definition at line 172 of file LoopPass.cpp.

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

Referenced by deleteLoopFromQueue().

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

deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.

Definition at line 157 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 188 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 117 of file LoopPass.cpp.

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

Referenced by insertLoop().

Definition at line 141 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: