LLVM API Documentation

Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
llvm::PMTopLevelManager Class Reference

#include <PassManagers.h>

Inheritance diagram for llvm::PMTopLevelManager:
Inheritance graph
[legend]
Collaboration diagram for llvm::PMTopLevelManager:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void schedulePass (Pass *P)
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.
PassfindAnalysisPass (AnalysisID AID)
AnalysisUsagefindAnalysisUsage (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

Public Attributes

PMStack activeStack

Protected Member Functions

 PMTopLevelManager (PMDataManager *PMDM)
 Initialize top level manager. Create first pass manager.
unsigned getNumContainedManagers () const
void initializeAllAnalysisInfo ()

Protected Attributes

SmallVector< PMDataManager *, 8 > PassManagers
 Collection of pass managers.

Detailed Description

PMTopLevelManager manages LastUser info and collects common APIs used by top level pass managers.

Definition at line 167 of file PassManagers.h.


Constructor & Destructor Documentation

PMTopLevelManager::PMTopLevelManager ( PMDataManager PMDM) [explicit, protected]

Initialize top level manager. Create first pass manager.

Definition at line 495 of file PassManager.cpp.

References activeStack, addPassManager(), llvm::PMStack::push(), and llvm::PMDataManager::setTopLevelManager().

PMTopLevelManager::~PMTopLevelManager ( ) [virtual]

Member Function Documentation

void llvm::PMTopLevelManager::addImmutablePass ( ImmutablePass P) [inline]

Add immutable pass and initialize it.

Definition at line 204 of file PassManagers.h.

References llvm::ImmutablePass::initializePass(), and llvm::SmallVectorTemplateBase< T, isPodLike >::push_back().

Referenced by schedulePass().

void llvm::PMTopLevelManager::addIndirectPassManager ( PMDataManager Manager) [inline]
void llvm::PMTopLevelManager::addPassManager ( PMDataManager Manager) [inline]
void PMTopLevelManager::collectLastUses ( SmallVectorImpl< Pass * > &  LastUses,
Pass P 
)
void PMTopLevelManager::dumpArguments ( ) const
void PMTopLevelManager::dumpPasses ( ) const
Pass * PMTopLevelManager::findAnalysisPass ( AnalysisID  AID)
AnalysisUsage * PMTopLevelManager::findAnalysisUsage ( Pass P)
SmallVectorImpl<ImmutablePass *>& llvm::PMTopLevelManager::getImmutablePasses ( ) [inline]
unsigned llvm::PMTopLevelManager::getNumContainedManagers ( ) const [inline, protected]
void PMTopLevelManager::initializeAllAnalysisInfo ( ) [protected]
void PMTopLevelManager::schedulePass ( Pass P)
void PMTopLevelManager::setLastUser ( ArrayRef< Pass * >  AnalysisPasses,
Pass P 
)

Member Data Documentation


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