LLVM API Documentation

Public Types | Public Member Functions
llvm::PassInfo Class Reference

#include <PassSupport.h>

Inheritance diagram for llvm::PassInfo:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Pass *(* NormalCtor_t )()
typedef Pass *(* TargetMachineCtor_t )(TargetMachine *)

Public Member Functions

 PassInfo (const char *name, const char *arg, const void *pi, NormalCtor_t normal, bool isCFGOnly, bool is_analysis, TargetMachineCtor_t machine=nullptr)
 PassInfo (const char *name, const void *pi)
const char * getPassName () const
const char * getPassArgument () const
const void * getTypeInfo () const
bool isPassID (const void *IDPtr) const
 Return true if this PassID implements the specified ID pointer.
bool isAnalysisGroup () const
bool isAnalysis () const
bool isCFGOnlyPass () const
NormalCtor_t getNormalCtor () const
void setNormalCtor (NormalCtor_t Ctor)
TargetMachineCtor_t getTargetMachineCtor () const
void setTargetMachineCtor (TargetMachineCtor_t Ctor)
PasscreatePass () const
 createPass() - Use this method to create an instance of this pass.
void addInterfaceImplemented (const PassInfo *ItfPI)
const std::vector< const
PassInfo * > & 
getInterfacesImplemented () const

Detailed Description

PassInfo class - An instance of this class exists for every pass known by the system, and can be obtained from a live Pass by calling its getPassInfo() method. These objects are set up by the RegisterPass<> template, defined below.

Definition at line 40 of file PassSupport.h.


Member Typedef Documentation

Definition at line 42 of file PassSupport.h.

Definition at line 43 of file PassSupport.h.


Constructor & Destructor Documentation

llvm::PassInfo::PassInfo ( const char *  name,
const char *  arg,
const void *  pi,
NormalCtor_t  normal,
bool  isCFGOnly,
bool  is_analysis,
TargetMachineCtor_t  machine = nullptr 
) [inline]

PassInfo ctor - Do not call this directly, this should only be invoked through RegisterPass.

Definition at line 60 of file PassSupport.h.

llvm::PassInfo::PassInfo ( const char *  name,
const void *  pi 
) [inline]

PassInfo ctor - Do not call this directly, this should only be invoked through RegisterPass. This version is for use by analysis groups; it does not auto-register the pass.

Definition at line 70 of file PassSupport.h.


Member Function Documentation

addInterfaceImplemented - This method is called when this pass is registered as a member of an analysis group with the RegisterAnalysisGroup template.

Definition at line 133 of file PassSupport.h.

Referenced by llvm::PassRegistry::registerAnalysisGroup().

createPass() - Use this method to create an instance of this pass.

Definition at line 200 of file Pass.cpp.

References isAnalysisGroup().

Referenced by llvm::PMDataManager::add(), llvm::Pass::createPass(), and llvm::PMTopLevelManager::schedulePass().

const std::vector<const PassInfo*>& llvm::PassInfo::getInterfacesImplemented ( ) const [inline]

getInterfacesImplemented - Return a list of all of the analysis group interfaces implemented by this pass.

Definition at line 140 of file PassSupport.h.

Referenced by llvm::PMTopLevelManager::findAnalysisPass(), and llvm::PMDataManager::recordAvailableAnalysis().

getNormalCtor - Return a pointer to a function, that when called, creates an instance of the pass and returns it. This pointer may be null if there is no default constructor for the pass.

Definition at line 109 of file PassSupport.h.

Referenced by llvm::PassNameParser::ignorablePass(), and llvm::PassRegistry::registerAnalysisGroup().

const char* llvm::PassInfo::getPassArgument ( ) const [inline]

getPassArgument - Return the command line option that may be passed to 'opt' that will cause this pass to be run. This will return null if there is no argument.

Definition at line 84 of file PassSupport.h.

Referenced by llvm::PassNameParser::ignorablePass(), llvm::PassArgFilter< Args >::operator()(), llvm::PassNameParser::passRegistered(), llvm::PassRegistry::registerPass(), ShouldPrintBeforeOrAfterPass(), and llvm::PassRegistry::unregisterPass().

const char* llvm::PassInfo::getPassName ( ) const [inline]

getPassName - Return the friendly name for the pass, never returns null

Definition at line 78 of file PassSupport.h.

Referenced by llvm::Pass::getPassName(), and llvm::PassNameParser::passRegistered().

getTargetMachineCtor - Return a pointer to a function, that when called with a TargetMachine, creates an instance of the pass and returns it. This pointer may be null if there is no constructor with a TargetMachine for the pass.

Definition at line 121 of file PassSupport.h.

Referenced by llvm::PassRegistry::registerAnalysisGroup().

const void* llvm::PassInfo::getTypeInfo ( ) const [inline]

getTypeInfo - Return the id object for the pass... TODO : Rename

Definition at line 88 of file PassSupport.h.

Referenced by llvm::TargetPassConfig::addMachinePasses(), llvm::AnalysisUsage::addPreserved(), llvm::PassRegistry::registerPass(), and llvm::PassRegistry::unregisterPass().

bool llvm::PassInfo::isAnalysis ( ) const [inline]

Definition at line 99 of file PassSupport.h.

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

isAnalysisGroup - Return true if this is an analysis group, not a normal pass.

Definition at line 98 of file PassSupport.h.

Referenced by createPass(), and llvm::PassRegistry::registerAnalysisGroup().

bool llvm::PassInfo::isCFGOnlyPass ( ) const [inline]

isCFGOnlyPass - return true if this pass only looks at the CFG for the function.

Definition at line 103 of file PassSupport.h.

bool llvm::PassInfo::isPassID ( const void *  IDPtr) const [inline]

Return true if this PassID implements the specified ID pointer.

Definition at line 91 of file PassSupport.h.

Definition at line 112 of file PassSupport.h.

Referenced by llvm::PassRegistry::registerAnalysisGroup().

Definition at line 122 of file PassSupport.h.

Referenced by llvm::PassRegistry::registerAnalysisGroup().


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