MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::LoopTree< forward >::Base Class Reference

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

#include <mim/analyses/looptree.h>

Inheritance diagram for mim::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 mim::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>
mim::LoopTree< forward >::Base::Base ( Head * parent,
int depth,
View< const CFNode * > cf_nodes )

Definition at line 191 of file looptree.cpp.

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

◆ ~Base()

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

Member Function Documentation

◆ cf_nodes()

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

◆ depth()

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

Definition at line 30 of file looptree.h.

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

◆ num_cf_nodes()

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

Definition at line 33 of file looptree.h.

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

◆ parent()

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

Definition at line 31 of file looptree.h.

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

Member Data Documentation

◆ cf_nodes_

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

Definition at line 37 of file looptree.h.

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

◆ depth_

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

Definition at line 38 of file looptree.h.

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

◆ parent_

template<bool forward>
Head* mim::LoopTree< forward >::Base::parent_
protected

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