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:96
Inherits from: FunctionPass, PMDataManager
Member Variables
- public static char ID
Inherited from PMDataManager:
Method Overview
- public LPPassManager()
- public void addLoop(llvm::Loop & L)
- public void cloneBasicBlockSimpleAnalysis(llvm::BasicBlock * From, llvm::BasicBlock * To, llvm::Loop * L)
- public void deleteSimpleAnalysisLoop(llvm::Loop * L)
- public void deleteSimpleAnalysisValue(llvm::Value * V, 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:99
¶void addLoop(llvm::Loop& L)
void addLoop(llvm::Loop& L)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:129
Parameters
- llvm::Loop& L
¶void cloneBasicBlockSimpleAnalysis(
llvm::BasicBlock* From,
llvm::BasicBlock* To,
llvm::Loop* L)
void cloneBasicBlockSimpleAnalysis(
llvm::BasicBlock* From,
llvm::BasicBlock* To,
llvm::Loop* L)
Description
cloneBasicBlockSimpleAnalysis - Invoke cloneBasicBlockAnalysis hook for all passes that implement simple analysis interface.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:143
Parameters
- llvm::BasicBlock* From
- llvm::BasicBlock* To
- llvm::Loop* L
¶void deleteSimpleAnalysisLoop(llvm::Loop* L)
void deleteSimpleAnalysisLoop(llvm::Loop* L)
Description
Invoke deleteAnalysisLoop hook for all passes that implement simple analysis interface.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:151
Parameters
- llvm::Loop* L
¶void deleteSimpleAnalysisValue(llvm::Value* V,
llvm::Loop* L)
void deleteSimpleAnalysisValue(llvm::Value* V,
llvm::Loop* L)
Description
deleteSimpleAnalysisValue - Invoke deleteAnalysisValue hook for all passes that implement simple analysis interface.
Declared at: llvm/include/llvm/Analysis/LoopPass.h:147
Parameters
- llvm::Value* V
- 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:115
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:107
Parameters
- llvm::AnalysisUsage& Info
¶llvm::PMDataManager* getAsPMDataManager()
llvm::PMDataManager* getAsPMDataManager()
Declared at: llvm/include/llvm/Analysis/LoopPass.h:111
¶llvm::Pass* getAsPass()
llvm::Pass* getAsPass()
Declared at: llvm/include/llvm/Analysis/LoopPass.h:112
¶llvm::LoopPass* getContainedPass(unsigned int N)
llvm::LoopPass* getContainedPass(unsigned int N)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:117
Parameters
- unsigned int N
¶llvm::PassManagerType getPassManagerType() const
llvm::PassManagerType getPassManagerType() const
Declared at: llvm/include/llvm/Analysis/LoopPass.h:123
¶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:109
¶void markLoopAsDeleted(llvm::Loop& L)
void markLoopAsDeleted(llvm::Loop& L)
Declared at: llvm/include/llvm/Analysis/LoopPass.h:132
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:103