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
PMDataManager * getAsPMDataManager () override
Pass * getAsPass () override
void dumpPassStructure (unsigned Offset) override
 Print passes managed by this manager.
LoopPass * getContainedPass (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.

Static Public Attributes

static char ID = 0

Detailed Description

Definition at line 91 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 144 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 I, and llvm::LoopInfo::updateUnloop().

Referenced by llvm::UnrollLoop().

deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes.

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

Definition at line 153 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 176 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 109 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 108 of file LoopPass.h.

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

Reimplemented from llvm::PMDataManager.

Definition at line 120 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 104 of file LoopPass.h.

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

Definition at line 113 of file LoopPass.cpp.

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

Referenced by insertLoop().

Definition at line 137 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 93 of file LoopPass.h.


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