LLVM: llvm::LoopPass Class Reference (original) (raw)

#include "[llvm/Analysis/LoopPass.h](LoopPass%5F8h%5Fsource.html)"

Public Member Functions
LoopPass (char &pid)
Pass * createPrinterPass (raw_ostream &O, const std::string &Banner) const override
getPrinterPass - Get a pass to print the function corresponding to a Loop.
virtual bool runOnLoop (Loop *L, LPPassManager &LPM)=0
virtual bool doInitialization (Loop *L, LPPassManager &LPM)
virtual bool doFinalization ()
void preparePassManager (PMStack &PMS) override
Check if available pass managers are suitable for this pass or not.
void assignPassManager (PMStack &PMS, PassManagerType PMT) override
Assign pass manager to manage this pass.
PassManagerType getPotentialPassManagerType () const override
Return what kind of Pass Manager can manage this pass.
virtual bool doInitialization (Module &)
doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run.
virtual bool doFinalization (Module &)
doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run.
Public Member Functions inherited from llvm::Pass
Pass (PassKind K, char &pid)
Pass (const Pass &)=delete
Pass & operator= (const Pass &)=delete
virtual ~Pass ()
PassKind getPassKind () const
virtual StringRef getPassName () const
getPassName - Return a nice clean name for a pass.
StringRef getPassArgument () const
Return a nice clean name for a pass corresponding to that used to enable the pass in opt.
AnalysisID getPassID () const
getPassID - Return the PassID number that corresponds to this pass.
virtual void print (raw_ostream &OS, const Module *M) const
print - Print out the internal state of the pass.
void dump () const
void setResolver (AnalysisResolver *AR)
AnalysisResolver * getResolver () const
virtual void getAnalysisUsage (AnalysisUsage &) const
getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job.
virtual void releaseMemory ()
releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed.
virtual ImmutablePass * getAsImmutablePass ()
virtual PMDataManager * getAsPMDataManager ()
virtual void verifyAnalysis () const
verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information.
virtual void dumpPassStructure (unsigned Offset=0)
template
AnalysisType * getAnalysisIfAvailable () const
getAnalysisIfAvailable() - Subclasses use this function to get analysis information that might be around, for example to update it.
bool mustPreserveAnalysisID (char &AID) const
mustPreserveAnalysisID - This method serves the same function as getAnalysisIfAvailable, but works if you just have an AnalysisID.
template
AnalysisType & getAnalysis () const
getAnalysis() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function.
template
AnalysisType & getAnalysis (Function &F, bool *Changed=nullptr)
getAnalysis() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function.
template
AnalysisType & getAnalysisID (AnalysisID PI) const
template
AnalysisType & getAnalysisID (AnalysisID PI, Function &F, bool *Changed=nullptr)
Protected Member Functions
bool skipLoop (const Loop *L) const
Optional passes call this function to check whether the pass should be skipped.

Definition at line 29 of file LoopPass.h.

llvm::LoopPass::LoopPass ( char & pid) inlineexplicit

assignPassManager()

Assign pass manager to manage this pass.

Reimplemented from llvm::Pass.

Definition at line 332 of file LoopPass.cpp.

References llvm::PMDataManager::add(), llvm::PMTopLevelManager::addIndirectPassManager(), assert(), llvm::PMStack::empty(), llvm::LPPassManager::getAsPass(), llvm::PMDataManager::getPassManagerType(), llvm::PMDataManager::getTopLevelManager(), P, llvm::Pass::Pass(), llvm::PMT_LoopPassManager, llvm::PMStack::pop(), llvm::PMDataManager::populateInheritedAnalysis(), llvm::PMStack::push(), llvm::PMTopLevelManager::schedulePass(), and llvm::PMStack::top().

createPrinterPass()

doFinalization() [1/2]

virtual bool llvm::LoopPass::doFinalization ( ) inlinevirtual

doFinalization() [2/2]

virtual bool llvm::Pass::doFinalization ( Module & ) inlinevirtual

doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run.

Reimplemented from llvm::Pass.

Definition at line 132 of file Pass.h.

doInitialization() [1/2]

doInitialization() [2/2]

virtual bool llvm::Pass::doInitialization ( Module & ) inlinevirtual

doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run.

Reimplemented from llvm::Pass.

Definition at line 128 of file Pass.h.

getPotentialPassManagerType()

PassManagerType llvm::LoopPass::getPotentialPassManagerType ( ) const inlineoverridevirtual

preparePassManager()

void LoopPass::preparePassManager ( PMStack & ) overridevirtual

runOnLoop()

skipLoop()


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