Public Member Functions | Private Member Functions | Private Attributes

OA::Loop::LoopResults Class Reference

#include <LoopResults.hpp>

Collaboration diagram for OA::Loop::LoopResults:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 LoopResults (IRHandlesIRInterface &irHndlsInter)
virtual LoopIterator getLoopIterator ()
virtual LoopIterator postOrderLoopIterator ()
virtual void addLoop (OA_ptr< LoopAbstraction > l)
virtual OA_ptr< LoopAbstractiongetLoop (StmtHandle stmt)
virtual OA_ptr< list< OA_ptr
< LoopIndex > > > 
getIndexVars (OA_ptr< LoopAbstraction > loop)
void printLoopTree ()

Private Member Functions

void postOrderTraversal (OA_ptr< LoopTreeNode > node, OA_ptr< list< OA_ptr< LoopAbstraction > > > loopList)

Private Attributes

list< OA_ptr< LoopAbstraction > > mLoops
map< StmtHandle, OA_ptr
< LoopAbstraction > > 
mStmt2LoopMap
OA_ptr< list< OA_ptr
< LoopTreeNode > > > 
mLoopTreeRoots
IRHandlesIRInterfacemIRHndlsInter

Detailed Description

The results class implements the results interface (in Interface.hpp). It's a simple implementation, no attempt is made for optimization. It merely stores all loops in an STL list.

Definition at line 77 of file LoopResults.hpp.


Constructor & Destructor Documentation

OA::Loop::LoopResults::LoopResults ( IRHandlesIRInterface irHndlsInter  )  [inline]

Definition at line 79 of file LoopResults.hpp.


Member Function Documentation

void OA::Loop::LoopResults::addLoop ( OA_ptr< LoopAbstraction l  )  [virtual]

Definition at line 84 of file LoopResults.cpp.

References OA::Loop::LoopTreeNode::find(), mLoops, mLoopTreeRoots, mStmt2LoopMap, and OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr< list< OA_ptr< LoopIndex > > > OA::Loop::LoopResults::getIndexVars ( OA_ptr< LoopAbstraction loop  )  [virtual]

Definition at line 130 of file LoopResults.cpp.

References OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

OA_ptr< LoopAbstraction > OA::Loop::LoopResults::getLoop ( StmtHandle  stmt  )  [virtual]

Definition at line 120 of file LoopResults.cpp.

References mStmt2LoopMap.

LoopIterator OA::Loop::LoopResults::getLoopIterator (  )  [virtual]

Definition at line 56 of file LoopResults.cpp.

References mLoops.

LoopIterator OA::Loop::LoopResults::postOrderLoopIterator (  )  [virtual]

Definition at line 63 of file LoopResults.cpp.

void OA::Loop::LoopResults::postOrderTraversal ( OA_ptr< LoopTreeNode node,
OA_ptr< list< OA_ptr< LoopAbstraction > > >  loopList 
) [private]

Definition at line 68 of file LoopResults.cpp.

References OA::OA_ptr< T >::ptrEqual().

Here is the call graph for this function:

void OA::Loop::LoopResults::printLoopTree (  ) 

Definition at line 146 of file LoopResults.cpp.

References mIRHndlsInter, and mLoopTreeRoots.


Member Data Documentation

Definition at line 116 of file LoopResults.hpp.

Referenced by printLoopTree().

Definition at line 113 of file LoopResults.hpp.

Referenced by addLoop(), and getLoopIterator().

Definition at line 115 of file LoopResults.hpp.

Referenced by addLoop(), and printLoopTree().

Definition at line 114 of file LoopResults.hpp.

Referenced by addLoop(), and getLoop().


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