GPUOcelot
Public Types | Public Member Functions | Public Attributes

analysis::Analysis Class Reference

An analysis that can be constructed for aiding IR transforms. More...

#include <Analysis.h>

Inheritance diagram for analysis::Analysis:
Inheritance graph
[legend]
Collaboration diagram for analysis::Analysis:
Collaboration graph
[legend]

List of all members.

Public Types

enum  Type {
  NoAnalysis = 0x0, ControlTreeAnalysis = 0x1, DominatorTreeAnalysis = 0x2, PostDominatorTreeAnalysis = 0x4,
  DataflowGraphAnalysis = 0x8, StaticSingleAssignment = 0x10, DivergenceAnalysis = 0x20, StructuralAnalysis = 0x40,
  ThreadFrontierAnalysis = 0x80
}
 

Analysis type.

More...

Public Member Functions

 Analysis (Type t=NoAnalysis, const std::string &name="", int required=NoAnalysis)
 Initialize the analysis, register it with a pass manager.
virtual ~Analysis ()
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 users.

Public Attributes

const Type type
 Get the analysis type.
const std::string name
 The name of the analysis.
const int required
 The analysis dependencies.

Detailed Description

An analysis that can be constructed for aiding IR transforms.


Member Enumeration Documentation

Analysis type.

Enumerator:
NoAnalysis 
ControlTreeAnalysis 
DominatorTreeAnalysis 
PostDominatorTreeAnalysis 
DataflowGraphAnalysis 
StaticSingleAssignment 
DivergenceAnalysis 
StructuralAnalysis 
ThreadFrontierAnalysis 

Reimplemented in analysis::DataflowGraph.


Constructor & Destructor Documentation

home andrew repositories read only gpuocelot ocelot ocelot analysis implementation Analysis cpp home andrew repositories read only gpuocelot ocelot ocelot analysis implementation Analysis cpp analysis::Analysis::Analysis ( Type  t = NoAnalysis,
const std::string &  name = "",
int  required = NoAnalysis 
)

Initialize the analysis, register it with a pass manager.

analysis::Analysis::~Analysis ( ) [virtual]

Member Function Documentation

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

Get an up to date analysis by type.

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

Get an up to date analysis by type (const)

void analysis::Analysis::invalidateAnalysis ( Analysis::Type  type)

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

void analysis::Analysis::setPassManager ( transforms::PassManager m)

Set the pass manager used to supply dependent analyses.


Member Data Documentation

const std::string analysis::Analysis::name

The name of the analysis.

The analysis dependencies.

Get the analysis type.


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