Thorin 1.9.0
The Higher ORder INtermediate representation
Loading...
Searching...
No Matches
thorin::LoopTree< forward > Class Template Reference

Calculates a loop nesting forest rooted at LoopTree::root_. More...

#include <thorin/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
 
LoopTreeoperator= (LoopTree)=delete
 
 LoopTree (const CFG< forward > &cfg)
 
const CFG< forward > & cfg () const
 
const Headroot () const
 
const Leafoperator[] (const CFNode *n) const
 

Detailed Description

template<bool forward>
class thorin::LoopTree< forward >

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.

Constructor & Destructor Documentation

◆ LoopTree() [1/2]

template<bool forward>
thorin::LoopTree< forward >::LoopTree ( const LoopTree< forward > &  )
delete

◆ LoopTree() [2/2]

template<bool forward>
thorin::LoopTree< forward >::LoopTree ( const CFG< forward > &  cfg)
explicit

Member Function Documentation

◆ cfg()

template<bool forward>
const CFG< forward > & thorin::LoopTree< forward >::cfg ( ) const
inline

Definition at line 84 of file looptree.h.

Referenced by thorin::LoopTreeBuilder< forward >::LoopTreeBuilder().

◆ operator=()

template<bool forward>
LoopTree & thorin::LoopTree< forward >::operator= ( LoopTree< forward )
delete

◆ operator[]()

template<bool forward>
const Leaf * thorin::LoopTree< forward >::operator[] ( const CFNode n) const
inline

Definition at line 86 of file looptree.h.

References thorin::find().

◆ root()

template<bool forward>
const Head * thorin::LoopTree< forward >::root ( ) const
inline

Definition at line 85 of file looptree.h.


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