LLVM API Documentation

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

#include <LegacyPassManagers.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 LegacyPassManagers.h.


Constructor & Destructor Documentation

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

Initialize top level manager. Create first pass manager.

Definition at line 507 of file LegacyPassManager.cpp.

References llvm::PMDataManager::setTopLevelManager().


Member Function Documentation

Add immutable pass and initialize it.

Definition at line 204 of file LegacyPassManagers.h.

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

Referenced by schedulePass().

void PMTopLevelManager::collectLastUses ( SmallVectorImpl< Pass * > &  LastUses,
Pass P 
)
void PMTopLevelManager::setLastUser ( ArrayRef< Pass * >  AnalysisPasses,
Pass P 
)

Member Data Documentation


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