#include <LoopResults.hpp>

Public Member Functions | |
| LoopResults (IRHandlesIRInterface &irHndlsInter) | |
| virtual LoopIterator | getLoopIterator () |
| virtual LoopIterator | postOrderLoopIterator () |
| virtual void | addLoop (OA_ptr< LoopAbstraction > l) |
| virtual OA_ptr< LoopAbstraction > | getLoop (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 |
| IRHandlesIRInterface & | mIRHndlsInter |
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.
| OA::Loop::LoopResults::LoopResults | ( | IRHandlesIRInterface & | irHndlsInter | ) | [inline] |
Definition at line 79 of file LoopResults.hpp.
| 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().

| 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().

| 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().

| void OA::Loop::LoopResults::printLoopTree | ( | ) |
Definition at line 146 of file LoopResults.cpp.
References mIRHndlsInter, and mLoopTreeRoots.
Definition at line 116 of file LoopResults.hpp.
Referenced by printLoopTree().
list<OA_ptr<LoopAbstraction> > OA::Loop::LoopResults::mLoops [private] |
Definition at line 113 of file LoopResults.hpp.
Referenced by addLoop(), and getLoopIterator().
OA_ptr<list<OA_ptr<LoopTreeNode> > > OA::Loop::LoopResults::mLoopTreeRoots [private] |
Definition at line 115 of file LoopResults.hpp.
Referenced by addLoop(), and printLoopTree().
map<StmtHandle, OA_ptr<LoopAbstraction> > OA::Loop::LoopResults::mStmt2LoopMap [private] |
Definition at line 114 of file LoopResults.hpp.
1.7.1