MimIR 0.1
MimIR is my Intermediate Representation
|
Calculates a loop nesting forest rooted at LoopTree::root_. More...
#include <mim/analyses/looptree.h>
Classes | |
class | Base |
Represents a node of a loop nesting forest. More... | |
class | Head |
A Head owns further nodes as children. More... | |
class | Leaf |
A Leaf only holds a single CFNode and does not have any children. More... | |
Public Member Functions | |
LoopTree (const LoopTree &)=delete | |
LoopTree & | operator= (LoopTree)=delete |
LoopTree (const CFG< forward > &cfg) | |
const CFG< forward > & | cfg () const |
const Head * | root () const |
const Leaf * | operator[] (const CFNode *n) const |
Friends | |
class | LoopTreeBuilder< forward > |
template<bool f> | |
std::ostream & | operator<< (std::ostream &, const typename LoopTree< f >::Base *) |
Calculates a loop nesting forest rooted at LoopTree::root_.
The implementation uses Steensgard's algorithm. Check out G. Ramalingam, "On Loops, Dominators, and Dominance Frontiers", 1999, for more information.
Definition at line 16 of file looptree.h.
|
delete |
|
explicit |
Definition at line 199 of file looptree.cpp.
References mim::LoopTree< forward >::LoopTreeBuilder< forward >.
|
inline |
Definition at line 84 of file looptree.h.
Referenced by mim::LoopTreeBuilder< forward >::LoopTreeBuilder().
|
delete |
|
inline |
Definition at line 86 of file looptree.h.
References mim::find().
|
inline |
Definition at line 85 of file looptree.h.
|
friend |
Definition at line 99 of file looptree.h.
Referenced by mim::LoopTree< forward >::LoopTree().
|
friend |