LLVM API Documentation

Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

llvm::PassManagerTraits< Function > Class Template Reference

#include <PassManagerT.h>

Inheritance diagram for llvm::PassManagerTraits< Function >:

Inheritance graph
[legend]
Collaboration diagram for llvm::PassManagerTraits< Function >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef FunctionPass PassClass
typedef BasicBlockPass SubPassClass
typedef PassManagerT< BasicBlockBatcherClass
typedef PassManagerT< ModuleParentClass
typedef PassManagerT< FunctionPMType

Public Member Functions

const char * getPMName () const
virtual const char * getPassName () const
virtual bool doInitialization (Module &M)
virtual bool runOnFunction (Function &F)
virtual bool doFinalization (Module &M)
virtual void getAnalysisUsage (AnalysisUsage &AU) const

Static Public Member Functions

static bool runPass (PassClass *P, Function *F)

Detailed Description

template<>
class llvm::PassManagerTraits< Function >

Definition at line 687 of file PassManagerT.h.


Member Typedef Documentation

typedef PassManagerT<BasicBlock> llvm::PassManagerTraits< Function >::BatcherClass
 

Definition at line 696 of file PassManagerT.h.

typedef PassManagerT<Module> llvm::PassManagerTraits< Function >::ParentClass
 

Definition at line 699 of file PassManagerT.h.

typedef FunctionPass llvm::PassManagerTraits< Function >::PassClass
 

Definition at line 690 of file PassManagerT.h.

typedef PassManagerT<Function> llvm::PassManagerTraits< Function >::PMType
 

Definition at line 702 of file PassManagerT.h.

typedef BasicBlockPass llvm::PassManagerTraits< Function >::SubPassClass
 

Definition at line 693 of file PassManagerT.h.


Member Function Documentation

bool llvm::PassManagerTraits< Function >::doFinalization Module M  )  [inline, virtual]
 

doFinalization - Virtual method overriden by subclasses to do any post processing needed after all passes have run.

Reimplemented from llvm::FunctionPass.

Definition at line 813 of file PassManagerT.h.

bool llvm::PassManagerTraits< Function >::doInitialization Module M  )  [inline, virtual]
 

doInitialization - Virtual method overridden by subclasses to do any necessary per-module initialization.

Reimplemented from llvm::FunctionPass.

Definition at line 802 of file PassManagerT.h.

virtual void llvm::PassManagerTraits< Function >::getAnalysisUsage AnalysisUsage AU  )  const [inline, virtual]
 

getAnalysisUsage - This function should be overriden by passes that need analysis information to do their job. If a pass specifies that it uses a particular analysis result to this function, it can then use the getAnalysis<AnalysisType>() function, below.

Reimplemented from llvm::Pass.

Definition at line 719 of file PassManagerT.h.

References llvm::AnalysisUsage::setPreservesAll().

virtual const char* llvm::PassManagerTraits< Function >::getPassName  )  const [inline, virtual]
 

getPassName - Return a nice clean name for a pass. This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly, and if nothing else is available, C++ RTTI will be consulted to get a SOMEWHAT intelligible name for the pass.

Reimplemented from llvm::Pass.

Definition at line 712 of file PassManagerT.h.

const char* llvm::PassManagerTraits< Function >::getPMName  )  const [inline]
 

Definition at line 711 of file PassManagerT.h.

bool llvm::PassManagerTraits< Function >::runOnFunction Function F  )  [inline, virtual]
 

runOnFunction - Virtual method overriden by subclasses to do the per-function processing of the pass.

Implements llvm::FunctionPass.

Definition at line 809 of file PassManagerT.h.

static bool llvm::PassManagerTraits< Function >::runPass PassClass P,
Function F
[inline, static]
 

Definition at line 705 of file PassManagerT.h.

References llvm::FunctionPass::runOnFunction().


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