LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
llvm::ImmutablePass Class Reference

#include <Pass.h>

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

Public Member Functions

virtual void initializePass ()
 
virtual ImmutablePassgetAsImmutablePass ()
 
bool runOnModule (Module &)
 
 ImmutablePass (char &pid)
 
virtual ~ImmutablePass ()
 
- Public Member Functions inherited from llvm::ModulePass
PasscreatePrinterPass (raw_ostream &O, const std::string &Banner) const
 createPrinterPass - Get a module printer pass. More...
 
virtual void assignPassManager (PMStack &PMS, PassManagerType T)
 
virtual PassManagerType getPotentialPassManagerType () const
 Return what kind of Pass Manager can manage this pass. More...
 
 ModulePass (char &pid)
 
virtual ~ModulePass ()
 
- Public Member Functions inherited from llvm::Pass
 Pass (PassKind K, char &pid)
 
virtual ~Pass ()
 
PassKind getPassKind () const
 
virtual const char * getPassName () const
 
AnalysisID getPassID () const
 getPassID - Return the PassID number that corresponds to this pass. More...
 
virtual bool doInitialization (Module &)
 
virtual bool doFinalization (Module &)
 
virtual void print (raw_ostream &O, const Module *M) const
 
void dump () const
 
virtual void preparePassManager (PMStack &)
 Check if available pass managers are suitable for this pass or not. More...
 
void setResolver (AnalysisResolver *AR)
 
AnalysisResolvergetResolver () const
 
virtual void getAnalysisUsage (AnalysisUsage &) const
 
virtual void releaseMemory ()
 
virtual void * getAdjustedAnalysisPointer (AnalysisID ID)
 
virtual PMDataManagergetAsPMDataManager ()
 
virtual void verifyAnalysis () const
 
virtual void dumpPassStructure (unsigned Offset=0)
 
template<typename AnalysisType >
AnalysisType * getAnalysisIfAvailable () const
 
bool mustPreserveAnalysisID (char &AID) const
 
template<typename AnalysisType >
AnalysisType & getAnalysis () const
 
template<typename AnalysisType >
AnalysisType & getAnalysis (Function &F)
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI) const
 
template<typename AnalysisType >
AnalysisType & getAnalysisID (AnalysisID PI, Function &F)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::Pass
static const PassInfolookupPassInfo (const void *TI)
 
static const PassInfolookupPassInfo (StringRef Arg)
 
static PasscreatePass (AnalysisID ID)
 

Detailed Description

ImmutablePass class - This class is used to provide information that does not need to be run. This is useful for things like target information and "basic" versions of AnalysisGroups.

Definition at line 261 of file Pass.h.

Constructor & Destructor Documentation

llvm::ImmutablePass::ImmutablePass ( char &  pid)
inlineexplicit

Definition at line 277 of file Pass.h.

ImmutablePass::~ImmutablePass ( )
virtual

Definition at line 121 of file Pass.cpp.

Member Function Documentation

virtual ImmutablePass* llvm::ImmutablePass::getAsImmutablePass ( )
inlinevirtual

Reimplemented from llvm::Pass.

Definition at line 271 of file Pass.h.

void ImmutablePass::initializePass ( )
virtual

initializePass - This method may be overriden by immutable passes to allow them to perform various initialization actions they require. This is primarily because an ImmutablePass can "require" another ImmutablePass, and if it does, the overloaded version of initializePass may get access to these passes with getAnalysis<>.

Definition at line 123 of file Pass.cpp.

Referenced by llvm::PMTopLevelManager::addImmutablePass().

bool llvm::ImmutablePass::runOnModule ( Module )
inlinevirtual

ImmutablePasses are never run.

Implements llvm::ModulePass.

Definition at line 275 of file Pass.h.


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