LLVM API Documentation

llvm::PassManagerT< Trait > Class Template Reference

#include <PassManagerT.h>

Inheritance diagram for llvm::PassManagerT< Trait >:

Inheritance graph
[legend]
Collaboration diagram for llvm::PassManagerT< Trait >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual const char * getPMName () const=0
virtual const char * getPassName () const=0
virtual bool runPass (PassClass *P, UnitType *M)=0
 PassManagerT (ParentClass *Par=0)
virtual ~PassManagerT ()
virtual bool runOnUnit (UnitType *M)
void dumpPassStructure (unsigned Offset=0)
PassgetImmutablePassOrNull (const PassInfo *ID) const
PassgetAnalysisOrNullDown (const PassInfo *ID) const
PassgetAnalysisOrNullUp (const PassInfo *ID) const
void markPassUsed (const PassInfo *P, Pass *User)
virtual unsigned getDepth () const
virtual unsigned getNumContainedPasses () const
virtual const PassgetContainedPass (unsigned N) const
void add (PassClass *P)
void add (ImmutablePass *P)
void addPass (ImmutablePass *IP, AnalysisUsage &AU)

Friends

class ModulePass
class FunctionPass
class BasicBlockPass
class ImmutablePass
class BasicBlockPassManager
class FunctionPassManagerT
class ModulePassManager

Detailed Description

template<typename Trait>
class llvm::PassManagerT< Trait >

Definition at line 195 of file PassManagerT.h.


Constructor & Destructor Documentation

template<typename Trait>
llvm::PassManagerT< Trait >::PassManagerT ( ParentClass *  Par = 0  )  [inline]

Definition at line 248 of file PassManagerT.h.

template<typename Trait>
virtual llvm::PassManagerT< Trait >::~PassManagerT (  )  [inline, virtual]

Definition at line 249 of file PassManagerT.h.


Member Function Documentation

template<typename Trait>
virtual const char* llvm::PassManagerT< Trait >::getPMName (  )  const [pure virtual]

Implemented in llvm::BasicBlockPassManager, llvm::FunctionPassManagerT, and llvm::ModulePassManager.

Referenced by llvm::PassManagerT< llvm::BBTraits >::dumpPassStructure().

template<typename Trait>
virtual const char* llvm::PassManagerT< Trait >::getPassName (  )  const [pure virtual]

Implemented in llvm::BasicBlockPassManager, llvm::FunctionPassManagerT, and llvm::ModulePassManager.

template<typename Trait>
virtual bool llvm::PassManagerT< Trait >::runPass ( PassClass *  P,
UnitType *  M 
) [pure virtual]

template<typename Trait>
virtual bool llvm::PassManagerT< Trait >::runOnUnit ( UnitType *  M  )  [inline, virtual]

Definition at line 262 of file PassManagerT.h.

template<typename Trait>
void llvm::PassManagerT< Trait >::dumpPassStructure ( unsigned  Offset = 0  )  [inline]

Reimplemented in llvm::BasicBlockPassManager, llvm::FunctionPassManagerT, and llvm::ModulePassManager.

Definition at line 286 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::dumpPassStructure().

template<typename Trait>
Pass* llvm::PassManagerT< Trait >::getImmutablePassOrNull ( const PassInfo ID  )  const [inline]

Definition at line 310 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::getAnalysisOrNullDown(), and llvm::PassManagerT< llvm::BBTraits >::getAnalysisOrNullUp().

template<typename Trait>
Pass* llvm::PassManagerT< Trait >::getAnalysisOrNullDown ( const PassInfo ID  )  const [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 327 of file PassManagerT.h.

template<typename Trait>
Pass* llvm::PassManagerT< Trait >::getAnalysisOrNullUp ( const PassInfo ID  )  const [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 341 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::addPass(), and llvm::PassManagerT< llvm::BBTraits >::markPassUsed().

template<typename Trait>
void llvm::PassManagerT< Trait >::markPassUsed ( const PassInfo P,
Pass User 
) [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 358 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::markPassUsed().

template<typename Trait>
virtual unsigned llvm::PassManagerT< Trait >::getDepth (  )  const [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 393 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::getDepth().

template<typename Trait>
virtual unsigned llvm::PassManagerT< Trait >::getNumContainedPasses (  )  const [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 398 of file PassManagerT.h.

template<typename Trait>
virtual const Pass* llvm::PassManagerT< Trait >::getContainedPass ( unsigned  N  )  const [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 400 of file PassManagerT.h.

template<typename Trait>
void llvm::PassManagerT< Trait >::add ( PassClass *  P  )  [inline]

Definition at line 410 of file PassManagerT.h.

Referenced by llvm::FunctionPassManager::add(), and llvm::PassManager::add().

template<typename Trait>
void llvm::PassManagerT< Trait >::add ( ImmutablePass P  )  [inline]

Definition at line 429 of file PassManagerT.h.

template<typename Trait>
void llvm::PassManagerT< Trait >::addPass ( ImmutablePass IP,
AnalysisUsage AU 
) [inline, virtual]

Implements llvm::AnalysisResolver.

Definition at line 522 of file PassManagerT.h.

Referenced by llvm::PassManagerT< llvm::BBTraits >::addPass(), and llvm::ModulePass::addToPassManager().


Friends And Related Function Documentation

template<typename Trait>
friend class ModulePass [friend]

Definition at line 204 of file PassManagerT.h.

template<typename Trait>
friend class FunctionPass [friend]

Definition at line 205 of file PassManagerT.h.

template<typename Trait>
friend class BasicBlockPass [friend]

Definition at line 206 of file PassManagerT.h.

template<typename Trait>
friend class ImmutablePass [friend]

Definition at line 208 of file PassManagerT.h.

template<typename Trait>
friend class BasicBlockPassManager [friend]

Definition at line 210 of file PassManagerT.h.

template<typename Trait>
friend class FunctionPassManagerT [friend]

Definition at line 211 of file PassManagerT.h.

template<typename Trait>
friend class ModulePassManager [friend]

Definition at line 212 of file PassManagerT.h.


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