LLVM 22.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]

Public Types

using iterator = typename SmallVector<DomTreeNodeBase *, 4>::iterator
using const_iterator

Public Member Functions

 DomTreeNodeBase (NodeT *BB, DomTreeNodeBase *iDom)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
DomTreeNodeBase *constback () const
DomTreeNodeBase *& back ()
iterator_range< iteratorchildren ()
iterator_range< const_iteratorchildren () const
NodeT * getBlock () const
DomTreeNodeBasegetIDom () const
unsigned getLevel () const
void addChild (DomTreeNodeBase *C)
bool isLeaf () const
size_t getNumChildren () const
void clearAllChildren ()
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 54 of file GenericDomTree.h.

Member Typedef Documentation

◆ const_iterator

template<class NodeT>
using llvm::DomTreeNodeBase< NodeT >::const_iterator
Initial value:

Definition at line 73 of file GenericDomTree.h.

◆ iterator

template<class NodeT>
using llvm::DomTreeNodeBase< NodeT >::iterator = typename SmallVector<DomTreeNodeBase *, 4>::iterator

Definition at line 72 of file GenericDomTree.h.

Constructor & Destructor Documentation

◆ DomTreeNodeBase()

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

Definition at line 69 of file GenericDomTree.h.

Member Function Documentation

◆ addChild()

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

◆ back() [1/2]

template<class NodeT>
DomTreeNodeBase *& llvm::DomTreeNodeBase< NodeT >::back ( )
inline

Definition at line 82 of file GenericDomTree.h.

◆ back() [2/2]

template<class NodeT>
DomTreeNodeBase *const & llvm::DomTreeNodeBase< NodeT >::back ( ) const
inline

◆ begin() [1/2]

◆ begin() [2/2]

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

Definition at line 78 of file GenericDomTree.h.

◆ children() [1/2]

◆ children() [2/2]

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

Definition at line 85 of file GenericDomTree.h.

◆ clearAllChildren()

template<class NodeT>
void llvm::DomTreeNodeBase< NodeT >::clearAllChildren ( )
inline

Definition at line 98 of file GenericDomTree.h.

◆ compare()

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

Definition at line 100 of file GenericDomTree.h.

◆ end() [1/2]

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

◆ end() [2/2]

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

Definition at line 79 of file GenericDomTree.h.

◆ 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 140 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 141 of file GenericDomTree.h.

Referenced by checkAndReplaceCondition().

◆ getIDom()

◆ getLevel()

◆ getNumChildren()

template<class NodeT>
size_t llvm::DomTreeNodeBase< NodeT >::getNumChildren ( ) const
inline

Definition at line 96 of file GenericDomTree.h.

Referenced by llvm::DomTreeNodeBase< BlockT >::compare().

◆ isLeaf()

◆ 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 55 of file GenericDomTree.h.

◆ DominatorTreeBase< NodeT, true >

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

Definition at line 55 of file GenericDomTree.h.

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

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

Definition at line 55 of file GenericDomTree.h.

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

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

Definition at line 55 of file GenericDomTree.h.

◆ PostDominatorTree

template<class NodeT>
friend class PostDominatorTree
friend

Definition at line 55 of file GenericDomTree.h.


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