LLVM 23.0.0git
llvm::DomTreeNodeBase< NodeT > Class Template Reference

Base class for the actual dominator tree node. More...

#include "llvm/Support/GenericDomTree.h"

Inheritance diagram for llvm::DomTreeNodeBase< NodeT >:
[legend]

Classes

class  const_iterator

Public Types

using iterator = const_iterator

Public Member Functions

 DomTreeNodeBase (NodeT *BB, DomTreeNodeBase *iDom)
 DomTreeNodeBase (const DomTreeNodeBase &)=delete
DomTreeNodeBaseoperator= (const DomTreeNodeBase &)=delete
iterator begin () const
iterator end () const
iterator_range< iteratorchildren ()
iterator_range< const_iteratorchildren () const
NodeT * getBlock () const
DomTreeNodeBasegetIDom () const
unsigned getLevel () const
void addChild (DomTreeNodeBase *C)
void removeChild (DomTreeNodeBase *C)
bool isLeaf () const
bool compare (const DomTreeNodeBase *Other) const
void setIDom (DomTreeNodeBase *NewIDom)
unsigned getDFSNumIn () const
 getDFSNumIn/getDFSNumOut - These return the DFS visitation order for nodes in the dominator tree.
unsigned getDFSNumOut () const

Friends

class PostDominatorTree
class DominatorTreeBase< NodeT, false >
class DominatorTreeBase< NodeT, true >
struct DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, false > >
struct DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, true > >

Detailed Description

template<class NodeT>
class llvm::DomTreeNodeBase< NodeT >

Base class for the actual dominator tree node.

Definition at line 53 of file GenericDomTree.h.

Member Typedef Documentation

◆ iterator

template<class NodeT>
using llvm::DomTreeNodeBase< NodeT >::iterator = const_iterator

Definition at line 98 of file GenericDomTree.h.

Constructor & Destructor Documentation

◆ DomTreeNodeBase() [1/2]

template<class NodeT>
llvm::DomTreeNodeBase< NodeT >::DomTreeNodeBase ( NodeT * BB,
DomTreeNodeBase< NodeT > * iDom )
inline

◆ DomTreeNodeBase() [2/2]

template<class NodeT>
llvm::DomTreeNodeBase< NodeT >::DomTreeNodeBase ( const DomTreeNodeBase< NodeT > & )
delete

Member Function Documentation

◆ addChild()

◆ begin()

◆ children() [1/2]

◆ children() [2/2]

template<class NodeT>
iterator_range< const_iterator > llvm::DomTreeNodeBase< NodeT >::children ( ) const
inline

Definition at line 104 of file GenericDomTree.h.

◆ compare()

template<class NodeT>
bool llvm::DomTreeNodeBase< NodeT >::compare ( const DomTreeNodeBase< NodeT > * Other) const
inline

Definition at line 138 of file GenericDomTree.h.

◆ end()

template<class NodeT>
iterator llvm::DomTreeNodeBase< NodeT >::end ( ) const
inline

◆ getBlock()

◆ getDFSNumIn()

template<class NodeT>
unsigned llvm::DomTreeNodeBase< NodeT >::getDFSNumIn ( ) const
inline

getDFSNumIn/getDFSNumOut - These return the DFS visitation order for nodes in the dominator tree.

They are only guaranteed valid if updateDFSNumbers() has been called.

Definition at line 172 of file GenericDomTree.h.

Referenced by llvm::IDFCalculatorBase< NodeTy, IsPostDom >::calculate(), checkAndReplaceCondition(), compareCmp(), llvm::ValueDFS_Compare::comparePHIRelated(), and llvm::DomTreeBuilder::SemiNCAInfo< DomTreeT >::VerifyDFSNumbers().

◆ getDFSNumOut()

template<class NodeT>
unsigned llvm::DomTreeNodeBase< NodeT >::getDFSNumOut ( ) const
inline

Definition at line 173 of file GenericDomTree.h.

Referenced by checkAndReplaceCondition().

◆ getIDom()

◆ getLevel()

◆ isLeaf()

◆ operator=()

template<class NodeT>
DomTreeNodeBase & llvm::DomTreeNodeBase< NodeT >::operator= ( const DomTreeNodeBase< NodeT > & )
delete

◆ removeChild()

template<class NodeT>
void llvm::DomTreeNodeBase< NodeT >::removeChild ( DomTreeNodeBase< NodeT > * C)
inline

◆ setIDom()

template<class NodeT>
void llvm::DomTreeNodeBase< NodeT >::setIDom ( DomTreeNodeBase< NodeT > * NewIDom)
inline

◆ DominatorTreeBase< NodeT, false >

template<class NodeT>
friend class DominatorTreeBase< NodeT, false >
friend

Definition at line 54 of file GenericDomTree.h.

◆ DominatorTreeBase< NodeT, true >

template<class NodeT>
friend class DominatorTreeBase< NodeT, true >
friend

Definition at line 54 of file GenericDomTree.h.

◆ DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, false > >

template<class NodeT>
friend struct DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, false > >
friend

Definition at line 54 of file GenericDomTree.h.

◆ DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, true > >

template<class NodeT>
friend struct DomTreeBuilder::SemiNCAInfo< DominatorTreeBase< NodeT, true > >
friend

Definition at line 54 of file GenericDomTree.h.

◆ PostDominatorTree

template<class NodeT>
friend class PostDominatorTree
friend

Definition at line 54 of file GenericDomTree.h.


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