ROSE  0.9.6a
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VarsExprsProductLattice Class Referenceabstract

#include <liveDeadVarAnalysis.h>

Inheritance diagram for VarsExprsProductLattice:
Collaboration diagram for VarsExprsProductLattice:

Public Member Functions

 VarsExprsProductLattice (Lattice *perVarLattice, const std::map< varID, Lattice * > &constVarLattices, Lattice *allVarLattice, LiveDeadVarsAnalysis *ldva, const DataflowNode &n, const NodeState &state)
 
 VarsExprsProductLattice (const VarsExprsProductLattice &that)
 
 ~VarsExprsProductLattice ()
 
LatticegetVarLattice (const varID &var)
 
std::set< varIDgetAllVars ()
 
void copy (Lattice *that)
 
void copy (const VarsExprsProductLattice *that)
 
bool meetUpdate (Lattice *that)
 
void remapVars (const std::map< varID, varID > &varNameMap, const Function &newFunc)
 *Lattice**/void remapVars(const std::map<varID, varID>& varNameMap, const Function& newFunc, bool (*f)(CFGNode)); More...
 
void incorporateVars (Lattice *that)
 
Latticeproject (SgExpression *expr)
 
bool unProject (SgExpression *expr, Lattice *exprState)
 
bool addVar (const varID &var)
 
bool remVar (const varID &var)
 
bool addVar (const varID &var, Lattice *lat)
 
std::string str (std::string indent="")
 
- Public Member Functions inherited from ProductLattice
 ProductLattice ()
 
 ProductLattice (const std::vector< Lattice * > &lattices)
 
 ~ProductLattice ()
 
void init (const std::vector< Lattice * > &lattices)
 
void initialize ()
 
const std::vector< Lattice * > & getLattices ()
 
void copy_lattices (std::vector< Lattice * > &newLattices) const
 
virtual bool operator== (Lattice *that)
 
int getLevel ()
 
- Public Member Functions inherited from Lattice
virtual Latticecopy () const =0
 
virtual bool finiteLattice ()=0
 Check if this lattice is finite or not. More...
 
bool operator!= (Lattice *that)
 
bool operator== (Lattice &that)
 
bool operator!= (Lattice &that)
 
- Public Member Functions inherited from printable
virtual ~printable ()
 

Protected Member Functions

 VarsExprsProductLattice (const DataflowNode &n, const NodeState &state, bool(*filter)(CFGNode cfgn))
 
virtual VarsExprsProductLatticeblankVEPL (const DataflowNode &n, const NodeState &state)=0
 
int getVarIndex (const varID &var)
 

Protected Attributes

LatticeperVarLattice
 
LatticeallVarLattice
 
std::map< varID, Lattice * > constVarLattices
 
std::map< varID, int > varLatticeIndex
 
LiveDeadVarsAnalysisldva
 
bool(* filter )(CFGNode cfgn)
 
DataflowNode n
 
const NodeStatestate
 
- Protected Attributes inherited from ProductLattice
std::vector< Lattice * > lattices
 

Additional Inherited Members

- Public Attributes inherited from ProductLattice
short level
 
- Static Public Attributes inherited from ProductLattice
static const int uninitialized =0
 
static const int initialized =1
 

Detailed Description

Definition at line 192 of file liveDeadVarAnalysis.h.

Constructor & Destructor Documentation

VarsExprsProductLattice::VarsExprsProductLattice ( const DataflowNode n,
const NodeState state,
bool(*)(CFGNode cfgn)  filter 
)
protected
VarsExprsProductLattice::VarsExprsProductLattice ( Lattice perVarLattice,
const std::map< varID, Lattice * > &  constVarLattices,
Lattice allVarLattice,
LiveDeadVarsAnalysis ldva,
const DataflowNode n,
const NodeState state 
)
VarsExprsProductLattice::VarsExprsProductLattice ( const VarsExprsProductLattice that)
VarsExprsProductLattice::~VarsExprsProductLattice ( )

Member Function Documentation

virtual VarsExprsProductLattice* VarsExprsProductLattice::blankVEPL ( const DataflowNode n,
const NodeState state 
)
protectedpure virtual
Lattice* VarsExprsProductLattice::getVarLattice ( const varID var)
std::set<varID> VarsExprsProductLattice::getAllVars ( )
int VarsExprsProductLattice::getVarIndex ( const varID var)
protected
void VarsExprsProductLattice::copy ( Lattice that)
virtual

Reimplemented from ProductLattice.

void VarsExprsProductLattice::copy ( const VarsExprsProductLattice that)
bool VarsExprsProductLattice::meetUpdate ( Lattice that)
virtual

Reimplemented from ProductLattice.

void VarsExprsProductLattice::remapVars ( const std::map< varID, varID > &  varNameMap,
const Function newFunc 
)
virtual

*Lattice**/void remapVars(const std::map<varID, varID>& varNameMap, const Function& newFunc, bool (*f)(CFGNode));

Reimplemented from Lattice.

void VarsExprsProductLattice::incorporateVars ( Lattice that)
virtual

Reimplemented from Lattice.

Lattice* VarsExprsProductLattice::project ( SgExpression expr)
virtual

Reimplemented from Lattice.

bool VarsExprsProductLattice::unProject ( SgExpression expr,
Lattice exprState 
)
virtual

Reimplemented from Lattice.

bool VarsExprsProductLattice::addVar ( const varID var)
bool VarsExprsProductLattice::remVar ( const varID var)
bool VarsExprsProductLattice::addVar ( const varID var,
Lattice lat 
)
std::string VarsExprsProductLattice::str ( std::string  indent = "")
virtual

Reimplemented from ProductLattice.

Member Data Documentation

Lattice* VarsExprsProductLattice::perVarLattice
protected

Definition at line 196 of file liveDeadVarAnalysis.h.

Lattice* VarsExprsProductLattice::allVarLattice
protected

Definition at line 199 of file liveDeadVarAnalysis.h.

std::map<varID, Lattice*> VarsExprsProductLattice::constVarLattices
protected

Definition at line 202 of file liveDeadVarAnalysis.h.

std::map<varID, int> VarsExprsProductLattice::varLatticeIndex
protected

Definition at line 206 of file liveDeadVarAnalysis.h.

LiveDeadVarsAnalysis* VarsExprsProductLattice::ldva
protected

Definition at line 209 of file liveDeadVarAnalysis.h.

bool(* VarsExprsProductLattice::filter)(CFGNode cfgn)
protected

Definition at line 211 of file liveDeadVarAnalysis.h.

DataflowNode VarsExprsProductLattice::n
protected

Definition at line 214 of file liveDeadVarAnalysis.h.

const NodeState& VarsExprsProductLattice::state
protected

Definition at line 215 of file liveDeadVarAnalysis.h.


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