CACAO
|
Public Types | |
typedef _T | NodeType |
typedef LoopBase< NodeType > | LoopType |
typedef LoopType::LoopSetTy | LoopSetTy |
typedef LoopSetTy::iterator | loop_iterator |
typedef LoopSetTy::const_iterator | const_loop_iterator |
typedef std::pair < const_loop_iterator, const_loop_iterator > | ConstLoopIteratorPair |
typedef alloc::vector < LoopType * >::type | LoopListTy |
typedef LoopListTy::iterator | iterator |
typedef LoopListTy::reverse_iterator | reverse_iterator |
Public Member Functions | |
LoopTreeBase () | |
bool | is_reducible () const |
LoopType * | add_loop (NodeType *header, NodeType *exit) |
void | add_top_loop (LoopType *loop) |
loop_iterator | loop_begin () |
loop_iterator | loop_end () |
LoopType * | get_Loop (NodeType *BI) const |
Get the inner most loop which contains BI or NULL if not contained in any loop. More... | |
bool | is_loop_header (NodeType *BI) const |
ConstLoopIteratorPair | get_Loops_from_header (NodeType *BI) const |
bool | is_backedge (NodeType *src, NodeType *header) const |
bool | is_inner_loop (LoopType *inner, LoopType *outer) const |
Test if a loop is a strictly inner loop of another loop. More... | |
int | loop_nest (LoopType *loop) const |
TODO: cache? More... | |
virtual | ~LoopTreeBase () |
Protected Member Functions | |
void | set_loop (NodeType *node, LoopType *loop) |
void | insert_loop_header (NodeType *node, LoopType *loop) |
iterator | begin () |
iterator | end () |
reverse_iterator | rbegin () |
reverse_iterator | rend () |
Protected Attributes | |
bool | reducible |
LoopListTy | loops |
LoopSetTy | top_loops |
alloc::map< NodeType *, LoopType * >::type | loop_map |
alloc::map< NodeType *, LoopSetTy >::type | loop_header_map |
Definition at line 85 of file LoopBase.hpp.
typedef LoopSetTy::const_iterator cacao::jit::compiler2::LoopTreeBase< _T >::const_loop_iterator |
Definition at line 92 of file LoopBase.hpp.
typedef std::pair<const_loop_iterator, const_loop_iterator> cacao::jit::compiler2::LoopTreeBase< _T >::ConstLoopIteratorPair |
Definition at line 93 of file LoopBase.hpp.
typedef LoopListTy::iterator cacao::jit::compiler2::LoopTreeBase< _T >::iterator |
Definition at line 96 of file LoopBase.hpp.
typedef LoopSetTy::iterator cacao::jit::compiler2::LoopTreeBase< _T >::loop_iterator |
Definition at line 91 of file LoopBase.hpp.
typedef alloc::vector<LoopType*>::type cacao::jit::compiler2::LoopTreeBase< _T >::LoopListTy |
Definition at line 95 of file LoopBase.hpp.
typedef LoopType::LoopSetTy cacao::jit::compiler2::LoopTreeBase< _T >::LoopSetTy |
Definition at line 90 of file LoopBase.hpp.
typedef LoopBase<NodeType> cacao::jit::compiler2::LoopTreeBase< _T >::LoopType |
Definition at line 88 of file LoopBase.hpp.
typedef _T cacao::jit::compiler2::LoopTreeBase< _T >::NodeType |
Definition at line 87 of file LoopBase.hpp.
typedef LoopListTy::reverse_iterator cacao::jit::compiler2::LoopTreeBase< _T >::reverse_iterator |
Definition at line 97 of file LoopBase.hpp.
|
inline |
Definition at line 124 of file LoopBase.hpp.
|
inlinevirtual |
Definition at line 214 of file LoopBase.hpp.
|
inline |
Definition at line 129 of file LoopBase.hpp.
|
inline |
Definition at line 134 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 111 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 114 of file LoopBase.hpp.
|
inline |
Get the inner most loop which contains BI or NULL if not contained in any loop.
Definition at line 148 of file LoopBase.hpp.
|
inline |
Definition at line 162 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 108 of file LoopBase.hpp.
|
inline |
Definition at line 171 of file LoopBase.hpp.
|
inline |
Test if a loop is a strictly inner loop of another loop.
Note that a loop is not an inner loop of itself!
Definition at line 187 of file LoopBase.hpp.
|
inline |
Definition at line 155 of file LoopBase.hpp.
|
inline |
Definition at line 126 of file LoopBase.hpp.
|
inline |
Definition at line 139 of file LoopBase.hpp.
|
inline |
Definition at line 142 of file LoopBase.hpp.
|
inline |
TODO: cache?
Definition at line 205 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 117 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 120 of file LoopBase.hpp.
|
inlineprotected |
Definition at line 105 of file LoopBase.hpp.
|
protected |
Definition at line 103 of file LoopBase.hpp.
|
protected |
Definition at line 102 of file LoopBase.hpp.
|
protected |
Definition at line 100 of file LoopBase.hpp.
|
protected |
Definition at line 99 of file LoopBase.hpp.
|
protected |
Definition at line 101 of file LoopBase.hpp.