GPUOcelot
Public Types | Public Member Functions | Public Attributes

transforms::Pass Class Reference

A class modeled after the LLVM notion of an optimization pass. Allows different transformations to be applied to PTX modules. More...

#include <Pass.h>

Inheritance diagram for transforms::Pass:
Inheritance graph
[legend]
Collaboration diagram for transforms::Pass:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Type {
  ImmutablePass, ModulePass, KernelPass, ImmutableKernelPass,
  BasicBlockPass, InvalidPass
}
 

For virtual classes, the type of pass.

More...
typedef analysis::Analysis Analysis
 shorthand for analysis

Public Member Functions

 Pass (Type t=InvalidPass, int a=Analysis::NoAnalysis, const std::string &n="")
 The default constructor sets the type.
virtual ~Pass ()
 Virtual destructor.
void setPassManager (transforms::PassManager *m)
 Set the pass manager used to supply dependent analyses.
AnalysisgetAnalysis (Analysis::Type type)
 Get an up to date analysis by type.
const AnalysisgetAnalysis (Analysis::Type type) const
 Get an up to date analysis by type (const)
void invalidateAnalysis (Analysis::Type type)
 Invalidate the analysis, the pass manager will need to generate it again for other applications.
std::string toString () const
 Report the name of the pass.

Public Attributes

const Type type
 The type of this pass.
const int analyses
 What types of analysis routines does the pass require?
const std::string name
 The name of the pass.

Detailed Description

A class modeled after the LLVM notion of an optimization pass. Allows different transformations to be applied to PTX modules.


Member Typedef Documentation

shorthand for analysis


Member Enumeration Documentation

For virtual classes, the type of pass.

Enumerator:
ImmutablePass 
ModulePass 
KernelPass 
ImmutableKernelPass 
BasicBlockPass 
InvalidPass 

Constructor & Destructor Documentation

transforms::Pass::Pass ( Type  t = InvalidPass,
int  a = Analysis::NoAnalysis,
const std::string &  n = "" 
)

The default constructor sets the type.

transforms::Pass::~Pass ( ) [virtual]

Virtual destructor.


Member Function Documentation

analysis::Analysis * transforms::Pass::getAnalysis ( Analysis::Type  type)

Get an up to date analysis by type.

const analysis::Analysis * transforms::Pass::getAnalysis ( Analysis::Type  type) const

Get an up to date analysis by type (const)

void transforms::Pass::invalidateAnalysis ( Analysis::Type  type)

Invalidate the analysis, the pass manager will need to generate it again for other applications.

void transforms::Pass::setPassManager ( transforms::PassManager m)

Set the pass manager used to supply dependent analyses.

std::string transforms::Pass::toString ( ) const

Report the name of the pass.


Member Data Documentation

What types of analysis routines does the pass require?

const std::string transforms::Pass::name

The name of the pass.

The type of this pass.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines