OA::AffineExpr::AffineExprExprTreeVisitor Class Reference

#include <ManagerAffineExpr.hpp>

Inheritance diagram for OA::AffineExpr::AffineExprExprTreeVisitor:

Inheritance graph
[legend]
Collaboration diagram for OA::AffineExpr::AffineExprExprTreeVisitor:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 AffineExprExprTreeVisitor (OA_ptr< AffineExprAbstraction > afExp, OA_ptr< AffineExprIRInterface > ir, ProcHandle hProc, const set< OA_ptr< NamedLoc > > &indexVars, const set< OA_ptr< NamedLoc > > &nonConstVars, OA_ptr< Alias::Interface > aliasResults)
virtual ~AffineExprExprTreeVisitor ()
virtual void visitExprTreeBefore (ExprTree &)
 called before root noded in the expression tree is visited
virtual void visitExprTreeAfter (ExprTree &)
 called after root noded in the expression tree is visited
virtual void visitNode (ExprTree::Node &n)
virtual void visitOpNode (ExprTree::OpNode &n)
virtual void visitCallNode (ExprTree::CallNode &n)
virtual void visitMemRefNode (ExprTree::MemRefNode &n)
virtual void visitConstSymNode (ExprTree::ConstSymNode &n)
virtual void visitConstValNode (ExprTree::ConstValNode &n)
AffineAnlState getState ()

Private Member Functions

void pushVar (OA_ptr< NamedLoc > var)
void pushScaler (int val)
void factor ()
void term ()

Private Attributes

stack< StackObjmStack
OA_ptr< AffineExprAbstractionmAfExp
OA_ptr< AffineExprIRInterfacemIR
ProcHandle mhProc
const set< OA_ptr< NamedLoc > > & mIndexVars
const set< OA_ptr< NamedLoc > > & mNonConstVars
OA_ptr< Alias::InterfacemAliasResults
AffineAnlState mState


Detailed Description

Used by ManagerAffineExpr to build affine expressions. This class traverses the nodes in an expression tree parsing out the needed information to make an affine expression. Performs a prefix traversal.

Definition at line 40 of file ManagerAffineExpr.hpp.


Constructor & Destructor Documentation

OA::AffineExpr::AffineExprExprTreeVisitor::AffineExprExprTreeVisitor ( OA_ptr< AffineExprAbstraction afExp,
OA_ptr< AffineExprIRInterface ir,
ProcHandle  hProc,
const set< OA_ptr< NamedLoc > > &  indexVars,
const set< OA_ptr< NamedLoc > > &  nonConstVars,
OA_ptr< Alias::Interface aliasResults 
) [inline]

Definition at line 42 of file ManagerAffineExpr.hpp.

virtual OA::AffineExpr::AffineExprExprTreeVisitor::~AffineExprExprTreeVisitor (  )  [inline, virtual]

Definition at line 59 of file ManagerAffineExpr.hpp.


Member Function Documentation

void OA::AffineExpr::AffineExprExprTreeVisitor::factor (  )  [private]

AffineAnlState OA::AffineExpr::AffineExprExprTreeVisitor::getState (  )  [inline]

Definition at line 71 of file ManagerAffineExpr.hpp.

References mState.

Referenced by OA::AffineExpr::ManagerAffineExpr::analyzeMemRefExp().

void OA::AffineExpr::AffineExprExprTreeVisitor::pushScaler ( int  val  )  [private]

void OA::AffineExpr::AffineExprExprTreeVisitor::pushVar ( OA_ptr< NamedLoc var  )  [private]

void OA::AffineExpr::AffineExprExprTreeVisitor::term (  )  [private]

void OA::AffineExpr::AffineExprExprTreeVisitor::visitCallNode ( ExprTree::CallNode n  )  [virtual]

void OA::AffineExpr::AffineExprExprTreeVisitor::visitConstSymNode ( ExprTree::ConstSymNode n  )  [virtual]

Reimplemented from OA::ExprTreeVisitor.

Definition at line 149 of file ManagerAffineExpr.cpp.

void OA::AffineExpr::AffineExprExprTreeVisitor::visitConstValNode ( ExprTree::ConstValNode n  )  [virtual]

Reimplemented from OA::ExprTreeVisitor.

Definition at line 153 of file ManagerAffineExpr.cpp.

References OA::ExprTree::ConstValNode::getHandle(), mIR, and pushScaler().

Here is the call graph for this function:

virtual void OA::AffineExpr::AffineExprExprTreeVisitor::visitExprTreeAfter ( ExprTree  )  [inline, virtual]

called after root noded in the expression tree is visited

Implements OA::ExprTreeVisitor.

Definition at line 62 of file ManagerAffineExpr.hpp.

virtual void OA::AffineExpr::AffineExprExprTreeVisitor::visitExprTreeBefore ( ExprTree  )  [inline, virtual]

called before root noded in the expression tree is visited

Implements OA::ExprTreeVisitor.

Definition at line 61 of file ManagerAffineExpr.hpp.

void OA::AffineExpr::AffineExprExprTreeVisitor::visitMemRefNode ( ExprTree::MemRefNode n  )  [virtual]

virtual void OA::AffineExpr::AffineExprExprTreeVisitor::visitNode ( ExprTree::Node n  )  [inline, virtual]

Implements OA::ExprTreeVisitor.

Definition at line 63 of file ManagerAffineExpr.hpp.

void OA::AffineExpr::AffineExprExprTreeVisitor::visitOpNode ( ExprTree::OpNode n  )  [virtual]


Member Data Documentation

Definition at line 81 of file ManagerAffineExpr.hpp.

Referenced by term().

Definition at line 86 of file ManagerAffineExpr.hpp.

Definition at line 83 of file ManagerAffineExpr.hpp.

Referenced by visitMemRefNode().

Definition at line 84 of file ManagerAffineExpr.hpp.

Definition at line 82 of file ManagerAffineExpr.hpp.

Referenced by visitConstValNode(), visitMemRefNode(), and visitOpNode().

Definition at line 85 of file ManagerAffineExpr.hpp.

Referenced by visitMemRefNode().

Definition at line 79 of file ManagerAffineExpr.hpp.

Referenced by pushScaler(), pushVar(), and term().

Definition at line 87 of file ManagerAffineExpr.hpp.

Referenced by getState(), term(), visitCallNode(), visitMemRefNode(), and visitOpNode().


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

Generated on Fri Jul 24 05:37:41 2009 for OpenADFortTk (extended to Open64) by  doxygen 1.5.7.1