MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::DomTreeBase< bool > Class Template Reference

A Dominance Tree. More...

#include <mim/analyses/domtree.h>

Public Member Functions

 DomTreeBase (const DomTreeBase &)=delete
 
DomTreeBaseoperator= (DomTreeBase)=delete
 
 DomTreeBase (const CFG< forward > &cfg)
 
const CFG< forward > & cfg () const
 
size_t index (const CFNode *n) const
 
const std::vector< const CFNode * > & children (const CFNode *n) const
 
const CFNoderoot () const
 
const CFNodeidom (const CFNode *n) const
 
int depth (const CFNode *n) const
 
const CFNodeleast_common_ancestor (const CFNode *i, const CFNode *j) const
 Returns the least common ancestor of i and j.
 

Detailed Description

template<bool>
class mim::DomTreeBase< bool >

A Dominance Tree.

The template parameter forward determines whether a regular dominance tree (true) or a post-dominance tree (false) should be constructed. This template parameter is associated with CFG's forward parameter.

Definition at line 7 of file schedule.h.

Constructor & Destructor Documentation

◆ DomTreeBase() [1/2]

template<bool >
mim::DomTreeBase< bool >::DomTreeBase ( const DomTreeBase< bool > & )
delete

◆ DomTreeBase() [2/2]

template<bool >
mim::DomTreeBase< bool >::DomTreeBase ( const CFG< forward > & cfg)
inlineexplicit

Member Function Documentation

◆ cfg()

template<bool >
const CFG< forward > & mim::DomTreeBase< bool >::cfg ( ) const
inline

Definition at line 25 of file domtree.h.

Referenced by mim::DomTreeBase< bool >::index().

◆ children()

template<bool >
const std::vector< const CFNode * > & mim::DomTreeBase< bool >::children ( const CFNode * n) const
inline

Definition at line 27 of file domtree.h.

◆ depth()

template<bool >
int mim::DomTreeBase< bool >::depth ( const CFNode * n) const
inline

Definition at line 30 of file domtree.h.

Referenced by mim::DomTreeBase< bool >::DomTreeBase().

◆ idom()

template<bool >
const CFNode * mim::DomTreeBase< bool >::idom ( const CFNode * n) const
inline

Definition at line 29 of file domtree.h.

◆ index()

template<bool >
size_t mim::DomTreeBase< bool >::index ( const CFNode * n) const
inline

Definition at line 26 of file domtree.h.

References mim::DomTreeBase< bool >::cfg(), and mim::CFG< bool >::index().

◆ least_common_ancestor()

template<bool forward>
const CFNode * mim::DomTreeBase< forward >::least_common_ancestor ( const CFNode * i,
const CFNode * j ) const

Returns the least common ancestor of i and j.

Definition at line 45 of file domtree.cpp.

◆ operator=()

template<bool >
DomTreeBase & mim::DomTreeBase< bool >::operator= ( DomTreeBase< bool > )
delete

◆ root()

template<bool >
const CFNode * mim::DomTreeBase< bool >::root ( ) const
inline

Definition at line 28 of file domtree.h.

Referenced by mim::DomTreeBase< bool >::DomTreeBase().


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