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

A Dominance Tree. More...

#include <thorin/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 forward>
class thorin::DomTreeBase< forward >

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 11 of file domtree.h.

Constructor & Destructor Documentation

◆ DomTreeBase() [1/2]

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

◆ DomTreeBase() [2/2]

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

Member Function Documentation

◆ cfg()

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

Definition at line 25 of file domtree.h.

Referenced by thorin::DomTreeBase< forward >::index().

◆ children()

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

Definition at line 27 of file domtree.h.

◆ depth()

template<bool forward>
int thorin::DomTreeBase< forward >::depth ( const CFNode n) const
inline

Definition at line 30 of file domtree.h.

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

◆ idom()

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

Definition at line 29 of file domtree.h.

Referenced by thorin::Scheduler::smart().

◆ index()

template<bool forward>
size_t thorin::DomTreeBase< forward >::index ( const CFNode n) const
inline

Definition at line 26 of file domtree.h.

References thorin::DomTreeBase< forward >::cfg().

◆ least_common_ancestor()

template<bool forward>
const CFNode * thorin::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.

Referenced by thorin::Scheduler::late().

◆ operator=()

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

◆ root()

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

Definition at line 28 of file domtree.h.

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


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