Public Member Functions | Private Attributes

OA::MemRefsVisitor Class Reference

#include <MemRefsVisitor.hpp>

Inheritance diagram for OA::MemRefsVisitor:
Inheritance graph
[legend]
Collaboration diagram for OA::MemRefsVisitor:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MemRefsVisitor ()
 ~MemRefsVisitor ()
void visitExprTreeBefore (ExprTree &)
 called before root noded in the expression tree is visited
void visitExprTreeAfter (ExprTree &)
 called after root noded in the expression tree is visited
void visitNode (ExprTree::Node &)
void visitOpNode (ExprTree::OpNode &n)
void visitCallNode (ExprTree::CallNode &n)
void visitMemRefNode (ExprTree::MemRefNode &n)
void visitConstSymNode (ExprTree::ConstSymNode &n)
void visitConstValNode (ExprTree::ConstValNode &n)
bool hasMemRef ()
 interface for results of visiting the expression tree
OA_ptr< MemRefHandleIteratorgetMemRefsIterator ()

Private Attributes

bool mHasMemRef
OA_ptr< std::set< MemRefHandle > > mMemRefSet

Detailed Description

concrete ExprTree visitor that determines which memory references are in an expression.

Definition at line 47 of file MemRefsVisitor.hpp.


Constructor & Destructor Documentation

OA::MemRefsVisitor::MemRefsVisitor (  )  [inline]

Definition at line 49 of file MemRefsVisitor.hpp.

OA::MemRefsVisitor::~MemRefsVisitor (  )  [inline]

Definition at line 50 of file MemRefsVisitor.hpp.


Member Function Documentation

OA_ptr<MemRefHandleIterator> OA::MemRefsVisitor::getMemRefsIterator (  )  [inline]
bool OA::MemRefsVisitor::hasMemRef (  )  [inline]

interface for results of visiting the expression tree

Definition at line 70 of file MemRefsVisitor.hpp.

References mHasMemRef.

Referenced by OA::DataFlow::LocDFSet::calleeToCallerTransitive(), OA::DataFlow::LocDFSet::callerToCalleeTransitive(), and OA::LinearityLocsVisitor::visitCallNode().

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

Reimplemented from OA::ExprTreeVisitor.

Definition at line 40 of file MemRefsVisitor.cpp.

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

Reimplemented from OA::ExprTreeVisitor.

Definition at line 53 of file MemRefsVisitor.cpp.

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

Reimplemented from OA::ExprTreeVisitor.

Definition at line 58 of file MemRefsVisitor.cpp.

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

called after root noded in the expression tree is visited

Implements OA::ExprTreeVisitor.

Definition at line 54 of file MemRefsVisitor.hpp.

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

called before root noded in the expression tree is visited

Implements OA::ExprTreeVisitor.

Definition at line 52 of file MemRefsVisitor.hpp.

References mMemRefSet.

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

Reimplemented from OA::ExprTreeVisitor.

Definition at line 47 of file MemRefsVisitor.cpp.

References OA::ExprTree::MemRefNode::getHandle(), mHasMemRef, and mMemRefSet.

Here is the call graph for this function:

void OA::MemRefsVisitor::visitNode ( ExprTree::Node  )  [virtual]

if we don't know how to handle a node then need to assert because there is no default conservative action for this visitor

Implements OA::ExprTreeVisitor.

Definition at line 23 of file MemRefsVisitor.cpp.

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

Reimplemented from OA::ExprTreeVisitor.

Definition at line 28 of file MemRefsVisitor.cpp.

References OA::ExprTree::ChildNodesIterator::current(), and OA::Tree::ChildNodesIterator::isValid().

Here is the call graph for this function:


Member Data Documentation

Definition at line 78 of file MemRefsVisitor.hpp.

Referenced by hasMemRef(), and visitMemRefNode().

Definition at line 79 of file MemRefsVisitor.hpp.

Referenced by getMemRefsIterator(), visitExprTreeBefore(), and visitMemRefNode().


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