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

Represents a node of a loop nesting forest. More...

#include <thorin/analyses/looptree.h>

Inheritance diagram for thorin::LoopTree< forward >::Base:
[legend]

Public Member Functions

 Base (Head *parent, int depth, View< const CFNode * >)
 
virtual ~Base ()=default
 
int depth () const
 
const Headparent () const
 
auto cf_nodes () const
 
size_t num_cf_nodes () const
 

Protected Attributes

Headparent_
 
Vector< const CFNode * > cf_nodes_
 
int depth_
 

Detailed Description

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

Represents a node of a loop nesting forest.

A LoopTree::Base consists of a set of header CFNodes. The header CFNodes are the set of CFNodes not dominated by any other CFNode within the loop. The root node is a LoopTree::Head without any CFNodes but further children and depth_ -1. Thus, the forest is pooled into a tree.

Definition at line 25 of file looptree.h.

Constructor & Destructor Documentation

◆ Base()

template<bool forward>
thorin::LoopTree< forward >::Base::Base ( Head parent,
int  depth,
View< const CFNode * >  cf_nodes 
)

Definition at line 191 of file looptree.cpp.

References thorin::LoopTree< forward >::Base::parent_.

◆ ~Base()

template<bool forward>
virtual thorin::LoopTree< forward >::Base::~Base ( )
virtualdefault

Member Function Documentation

◆ cf_nodes()

template<bool forward>
auto thorin::LoopTree< forward >::Base::cf_nodes ( ) const
inline

◆ depth()

template<bool forward>
int thorin::LoopTree< forward >::Base::depth ( ) const
inline

Definition at line 30 of file looptree.h.

References thorin::LoopTree< forward >::Base::depth_.

◆ num_cf_nodes()

template<bool forward>
size_t thorin::LoopTree< forward >::Base::num_cf_nodes ( ) const
inline

Definition at line 33 of file looptree.h.

References thorin::LoopTree< forward >::Base::cf_nodes().

◆ parent()

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

Definition at line 31 of file looptree.h.

References thorin::LoopTree< forward >::Base::parent_.

Member Data Documentation

◆ cf_nodes_

template<bool forward>
Vector<const CFNode*> thorin::LoopTree< forward >::Base::cf_nodes_
protected

Definition at line 37 of file looptree.h.

Referenced by thorin::LoopTree< forward >::Base::cf_nodes().

◆ depth_

template<bool forward>
int thorin::LoopTree< forward >::Base::depth_
protected

Definition at line 38 of file looptree.h.

Referenced by thorin::LoopTree< forward >::Base::depth().

◆ parent_


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