class LPPassManager
Declaration
class LPPassManager : public FunctionPass, public PMDataManager { /* full declaration omitted */ };
Description
FunctionPass class - This class is used to implement most global optimizations. Optimizations should subclass this class if they meet the following constraints: 1. Optimizations are organized globally, i.e., a function at a time 2. Optimizing a function does not cause the addition or removal of any functions in the module
Declared at: llvm/include/llvm/Analysis/LoopPass.h:76
Inherits from: FunctionPass, PMDataManager
Member Variables
- private std::deque<Loop*> LQ
- private llvm::LoopInfo* LI
- private llvm::Loop* CurrentLoop
- private bool CurrentLoopDeleted
- public static char ID
Inherited from PMDataManager:
Method Overview
- public LPPassManager()
- public void addLoop(llvm::Loop & L)
- public void dumpPassStructure(unsigned int Offset)
- public void getAnalysisUsage(llvm::AnalysisUsage & Info) const
- public llvm::PMDataManager * getAsPMDataManager()
- public llvm::Pass * getAsPass()
- public llvm::LoopPass * getContainedPass(unsigned int N)
- public llvm::PassManagerType getPassManagerType() const
- public llvm::StringRef getPassName() const
- public void markLoopAsDeleted(llvm::Loop & L)
- public bool runOnFunction(llvm::Function & F)
Inherited from PMDataManager:
- public add
- public addLowerLevelRequiredPass
- public collectRequiredAndUsedAnalyses
- public dumpLastUses
- public dumpPassArguments
- public dumpPassInfo
- public dumpPreservedSet
- public dumpRequiredSet
- public dumpUsedSet
- public emitInstrCountChangedRemark
- public findAnalysisPass
- public freePass
- public getAsPass
- public getAvailableAnalysis
- public getDepth
- public getNumContainedPasses
- public getOnTheFlyPass
- public getPassManagerType
- public getTopLevelManager
- public initSizeRemarkInfo
- public initializeAnalysisImpl
- public initializeAnalysisInfo
- protected isPassDebuggingExecutionsOrMore
- public populateInheritedAnalysis
- public preserveHigherLevelAnalysis
- public recordAvailableAnalysis
- public removeDeadPasses
- public removeNotPreservedAnalysis
- public setDepth
- public setTopLevelManager
- public verifyPreservedAnalysis
Inherited from FunctionPass:
- public assignPassManager
- public createPrinterPass
- public getPotentialPassManagerType
- public runOnFunction
- protected skipFunction
Inherited from Pass:
- public assignPassManager
- public createPass
- public createPrinterPass
- public doFinalization
- public doInitialization
- public dump
- public dumpPassStructure
- public getAdjustedAnalysisPointer
- public getAnalysis
- public getAnalysis
- public getAnalysisID
- public getAnalysisID
- public getAnalysisIfAvailable
- public getAnalysisUsage
- public getAsImmutablePass
- public getAsPMDataManager
- public getPassID
- public getPassKind
- public getPassName
- public getPotentialPassManagerType
- public getResolver
- public lookupPassInfo
- public lookupPassInfo
- public mustPreserveAnalysisID
- public preparePassManager
- public print
- public releaseMemory
- public setResolver
- public verifyAnalysis
Methods
¶LPPassManager()
LPPassManager()
Declared at: llvm/include/llvm/Analysis/LoopPass.h:79
¶void addLoop(llvm::Loop& L)
void addLoop(llvm::Loop& L)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:109
Parameters
- llvm::Loop& L
¶void dumpPassStructure(unsigned int Offset)
void dumpPassStructure(unsigned int Offset)
Description
Print passes managed by this manager
Declared at: llvm/include/llvm/Analysis/LoopPass.h:95
Parameters
- unsigned int Offset
¶void getAnalysisUsage(
llvm::AnalysisUsage& Info) const
void getAnalysisUsage(
llvm::AnalysisUsage& Info) const
Description
Pass Manager itself does not invalidate any analysis info.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:87
Parameters
- llvm::AnalysisUsage& Info
¶llvm::PMDataManager* getAsPMDataManager()
llvm::PMDataManager* getAsPMDataManager()
Declared at: llvm/include/llvm/Analysis/LoopPass.h:91
¶llvm::Pass* getAsPass()
llvm::Pass* getAsPass()
Declared at: llvm/include/llvm/Analysis/LoopPass.h:92
¶llvm::LoopPass* getContainedPass(unsigned int N)
llvm::LoopPass* getContainedPass(unsigned int N)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:97
Parameters
- unsigned int N
¶llvm::PassManagerType getPassManagerType() const
llvm::PassManagerType getPassManagerType() const
Declared at: llvm/include/llvm/Analysis/LoopPass.h:103
¶llvm::StringRef getPassName() const
llvm::StringRef getPassName() const
Description
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.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:89
¶void markLoopAsDeleted(llvm::Loop& L)
void markLoopAsDeleted(llvm::Loop& L)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:112
Parameters
- llvm::Loop& L
¶bool runOnFunction(llvm::Function& F)
bool runOnFunction(llvm::Function& F)
Description
run - Execute all of the passes scheduled for execution. Keep track of whether any of the passes modifies the module, and if so, return true.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:83