class PMTopLevelManager
Declaration
class PMTopLevelManager { /* full declaration omitted */ };
Description
PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:160
Member Variables
- public llvm::PMStack activeStack
- protected SmallVector<llvm::PMDataManager*, 8> PassManagers
- Collection of pass managers
Method Overview
- protected PMTopLevelManager(llvm::PMDataManager * PMDM)
- public void addImmutablePass(llvm::ImmutablePass * P)
- public inline void addIndirectPassManager(llvm::PMDataManager * Manager)
- public void addPassManager(llvm::PMDataManager * Manager)
- public void collectLastUses(SmallVectorImpl<llvm::Pass *> & LastUses, llvm::Pass * P)
- public void dumpArguments() const
- public void dumpPasses() const
- public llvm::Pass * findAnalysisPass(llvm::AnalysisID AID)
- public const llvm::PassInfo * findAnalysisPassInfo(llvm::AnalysisID AID) const
- public llvm::AnalysisUsage * findAnalysisUsage(llvm::Pass * P)
- public inline SmallVectorImpl<llvm::ImmutablePass *> & getImmutablePasses()
- protected unsigned int getNumContainedManagers() const
- protected void initializeAllAnalysisInfo()
- public void schedulePass(llvm::Pass * P)
- public void setLastUser(ArrayRef<llvm::Pass *> AnalysisPasses, llvm::Pass * P)
- public virtual ~PMTopLevelManager()
Methods
¶PMTopLevelManager(llvm::PMDataManager* PMDM)
PMTopLevelManager(llvm::PMDataManager* PMDM)
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:162
Parameters
- llvm::PMDataManager* PMDM
¶void addImmutablePass(llvm::ImmutablePass* P)
void addImmutablePass(llvm::ImmutablePass* P)
Description
Add immutable pass and initialize it.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:200
Parameters
¶inline void addIndirectPassManager(
llvm::PMDataManager* Manager)
inline void addIndirectPassManager(
llvm::PMDataManager* Manager)
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:212
Parameters
- llvm::PMDataManager* Manager
¶void addPassManager(llvm::PMDataManager* Manager)
void addPassManager(llvm::PMDataManager* Manager)
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:206
Parameters
- llvm::PMDataManager* Manager
¶void collectLastUses(
SmallVectorImpl<llvm::Pass*>& LastUses,
llvm::Pass* P)
void collectLastUses(
SmallVectorImpl<llvm::Pass*>& LastUses,
llvm::Pass* P)
Description
Collect passes whose last user is P
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:184
Parameters
- SmallVectorImpl<llvm::Pass*>& LastUses
- llvm::Pass* P
¶void dumpArguments() const
void dumpArguments() const
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:218
¶void dumpPasses() const
void dumpPasses() const
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:217
¶llvm::Pass* findAnalysisPass(llvm::AnalysisID AID)
llvm::Pass* findAnalysisPass(llvm::AnalysisID AID)
Description
Find the pass that implements Analysis AID. Search immutable passes and all pass managers. If desired pass is not found then return NULL.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:189
Parameters
- llvm::AnalysisID AID
¶const llvm::PassInfo* findAnalysisPassInfo(
llvm::AnalysisID AID) const
const llvm::PassInfo* findAnalysisPassInfo(
llvm::AnalysisID AID) const
Description
Retrieve the PassInfo for an analysis.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:192
Parameters
- llvm::AnalysisID AID
¶llvm::AnalysisUsage* findAnalysisUsage(
llvm::Pass* P)
llvm::AnalysisUsage* findAnalysisUsage(
llvm::Pass* P)
Description
Find analysis usage information for the pass P.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:195
Parameters
- llvm::Pass* P
¶inline SmallVectorImpl<llvm::ImmutablePass*>&
getImmutablePasses()
inline SmallVectorImpl<llvm::ImmutablePass*>&
getImmutablePasses()
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:202
¶unsigned int getNumContainedManagers() const
unsigned int getNumContainedManagers() const
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:164
¶void initializeAllAnalysisInfo()
void initializeAllAnalysisInfo()
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:168
¶void schedulePass(llvm::Pass* P)
void schedulePass(llvm::Pass* P)
Description
Schedule pass P for execution. Make sure that passes required by P are run before P is run. Update analysis info maintained by the manager. Remove dead passes. This is a recursive function.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:178
Parameters
- llvm::Pass* P
¶void setLastUser(
ArrayRef<llvm::Pass*> AnalysisPasses,
llvm::Pass* P)
void setLastUser(
ArrayRef<llvm::Pass*> AnalysisPasses,
llvm::Pass* P)
Description
Set pass P as the last user of the given analysis passes.
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:181
Parameters
- ArrayRef<llvm::Pass*> AnalysisPasses
- llvm::Pass* P
¶virtual ~PMTopLevelManager()
virtual ~PMTopLevelManager()
Declared at: llvm/include/llvm/IR/LegacyPassManagers.h:197