|
FunctionPassManagerImpl () |
| void |
add (Pass *P) |
| Pass * |
createPrinterPass (raw_ostream &O, const std::string &Banner) const override |
|
createPrinterPass - Get a function printer pass. |
| void |
releaseMemoryOnTheFly () |
| bool |
run (Function &F) |
|
run - Execute all of the passes scheduled for execution. |
| bool |
doInitialization (Module &M) override |
|
doInitialization - Run all of the initializers for the function passes. |
| bool |
doFinalization (Module &M) override |
|
doFinalization - Run all of the finalizers for the function passes. |
| PMDataManager * |
getAsPMDataManager () override |
| Pass * |
getAsPass () override |
| PassManagerType |
getTopLevelPassManagerType () override |
| void |
getAnalysisUsage (AnalysisUsage &Info) const override |
|
Pass Manager itself does not invalidate any analysis info. |
| FPPassManager * |
getContainedManager (unsigned N) |
| void |
dumpPassStructure (unsigned Offset) override |
| 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 |
| virtual void |
assignPassManager (PMStack &, PassManagerType) |
|
Each pass is responsible for assigning a pass manager to itself. |
| virtual void |
preparePassManager (PMStack &) |
|
Check if available pass managers are suitable for this pass or not. |
| virtual PassManagerType |
getPotentialPassManagerType () const |
|
Return what kind of Pass Manager can manage this pass. |
| void |
setResolver (AnalysisResolver *AR) |
| AnalysisResolver * |
getResolver () const |
| 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 void |
verifyAnalysis () const |
|
verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information. |
| 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) |
| Public Member Functions inherited from llvm::PMDataManager |
|
|
PMDataManager () |
| virtual |
~PMDataManager () |
| void |
recordAvailableAnalysis (Pass *P) |
|
Augment AvailableAnalysis by adding analysis made available by pass P. |
| void |
verifyPreservedAnalysis (Pass *P) |
|
verifyPreservedAnalysis – Verify analysis presreved by pass P. |
| void |
removeNotPreservedAnalysis (Pass *P) |
|
Remove Analysis that is not preserved by the pass. |
| void |
removeDeadPasses (Pass *P, StringRef Msg, enum PassDebuggingString) |
|
Remove dead passes used by P. |
| void |
freePass (Pass *P, StringRef Msg, enum PassDebuggingString) |
|
Remove P. |
| void |
add (Pass *P, bool ProcessAnalysis=true) |
|
Add pass P into the PassVector. |
| virtual void |
addLowerLevelRequiredPass (Pass *P, Pass *RequiredPass) |
|
Add RequiredPass into list of lower level passes required by pass P. |
| virtual std::tuple< Pass *, bool > |
getOnTheFlyPass (Pass *P, AnalysisID PI, Function &F) |
| void |
initializeAnalysisInfo () |
|
Initialize available analysis information. |
| bool |
preserveHigherLevelAnalysis (Pass *P) |
| void |
collectRequiredAndUsedAnalyses (SmallVectorImpl< Pass * > &UsedPasses, SmallVectorImpl< AnalysisID > &ReqPassNotAvailable, Pass *P) |
|
Populate UsedPasses with analysis pass that are used or required by pass P and are available. |
| void |
initializeAnalysisImpl (Pass *P) |
|
All Required analyses should be available to the pass as it runs! |
| Pass * |
findAnalysisPass (AnalysisID AID, bool Direction) |
|
Find the pass that implements Analysis AID. |
| PMTopLevelManager * |
getTopLevelManager () |
| void |
setTopLevelManager (PMTopLevelManager *T) |
| unsigned |
getDepth () const |
| void |
setDepth (unsigned newDepth) |
| void |
dumpLastUses (Pass *P, unsigned Offset) const |
| void |
dumpPassArguments () const |
| void |
dumpPassInfo (Pass *P, enum PassDebuggingString S1, enum PassDebuggingString S2, StringRef Msg) |
| void |
dumpRequiredSet (const Pass *P) const |
| void |
dumpPreservedSet (const Pass *P) const |
| void |
dumpUsedSet (const Pass *P) const |
| unsigned |
getNumContainedPasses () const |
| virtual PassManagerType |
getPassManagerType () const |
| DenseMap< AnalysisID, Pass * > * |
getAvailableAnalysis () |
| void |
populateInheritedAnalysis (PMStack &PMS) |
| unsigned |
initSizeRemarkInfo (Module &M, StringMap< std::pair< unsigned, unsigned > > &FunctionToInstrCount) |
|
Set the initial size of the module if the user has specified that they want remarks for size. |
| void |
emitInstrCountChangedRemark (Pass *P, Module &M, int64_t Delta, unsigned CountBefore, StringMap< std::pair< unsigned, unsigned > > &FunctionToInstrCount, Function *F=nullptr) |
|
Emit a remark signifying that the number of IR instructions in the module changed. |
| Public Member Functions inherited from llvm::PMTopLevelManager |
|
| void |
schedulePass (Pass *P) |
|
Schedule pass P for execution. |
| void |
setLastUser (ArrayRef< Pass * > AnalysisPasses, Pass *P) |
|
Set pass P as the last user of the given analysis passes. |
| void |
collectLastUses (SmallVectorImpl< Pass * > &LastUses, Pass *P) |
|
Collect passes whose last user is P. |
| Pass * |
findAnalysisPass (AnalysisID AID) |
|
Find the pass that implements Analysis AID. |
| const PassInfo * |
findAnalysisPassInfo (AnalysisID AID) const |
|
Retrieve the PassInfo for an analysis. |
| AnalysisUsage * |
findAnalysisUsage (Pass *P) |
|
Find analysis usage information for the pass P. |
| virtual |
~PMTopLevelManager () |
|
Destructor. |
| void |
addImmutablePass (ImmutablePass *P) |
|
Add immutable pass and initialize it. |
| SmallVectorImpl< ImmutablePass * > & |
getImmutablePasses () |
| void |
addPassManager (PMDataManager *Manager) |
| void |
addIndirectPassManager (PMDataManager *Manager) |
| void |
dumpPasses () const |
| void |
dumpArguments () const |