Jlm
Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
jlm::llvm::DominatorTreeNode Class Referencefinal

#include <domtree.hpp>

Collaboration diagram for jlm::llvm::DominatorTreeNode:
Collaboration graph
[legend]

Public Member Functions

 DominatorTreeNode (ControlFlowGraphNode *node)
 
 DominatorTreeNode (const DominatorTreeNode &)=delete
 
 DominatorTreeNode (DominatorTreeNode &&)=delete
 
DominatorTreeNodeoperator= (const DominatorTreeNode &)=delete
 
DominatorTreeNodeoperator= (DominatorTreeNode &&)=delete
 
const_iterator begin () const
 
const_iterator end () const
 
DominatorTreeNodeadd_child (std::unique_ptr< DominatorTreeNode > child)
 
size_t nchildren () const noexcept
 
DominatorTreeNodechild (size_t index) const noexcept
 
ControlFlowGraphNodenode () const noexcept
 
DominatorTreeNodeparent () const noexcept
 
size_t depth () const noexcept
 

Static Public Member Functions

static std::unique_ptr< DominatorTreeNodecreate (ControlFlowGraphNode *node)
 

Private Types

typedef std::vector< std::unique_ptr< DominatorTreeNode > >::const_iterator const_iterator
 

Private Attributes

size_t depth_
 
ControlFlowGraphNodenode_
 
DominatorTreeNodeparent_
 
std::vector< std::unique_ptr< DominatorTreeNode > > children_
 

Detailed Description

Definition at line 20 of file domtree.hpp.

Member Typedef Documentation

◆ const_iterator

typedef std::vector<std::unique_ptr<DominatorTreeNode> >::const_iterator jlm::llvm::DominatorTreeNode::const_iterator
private

Definition at line 22 of file domtree.hpp.

Constructor & Destructor Documentation

◆ DominatorTreeNode() [1/3]

jlm::llvm::DominatorTreeNode::DominatorTreeNode ( ControlFlowGraphNode node)
inlineexplicit

Definition at line 25 of file domtree.hpp.

◆ DominatorTreeNode() [2/3]

jlm::llvm::DominatorTreeNode::DominatorTreeNode ( const DominatorTreeNode )
delete

◆ DominatorTreeNode() [3/3]

jlm::llvm::DominatorTreeNode::DominatorTreeNode ( DominatorTreeNode &&  )
delete

Member Function Documentation

◆ add_child()

DominatorTreeNode * jlm::llvm::DominatorTreeNode::add_child ( std::unique_ptr< DominatorTreeNode child)

Definition at line 17 of file domtree.cpp.

◆ begin()

const_iterator jlm::llvm::DominatorTreeNode::begin ( ) const
inline

Definition at line 42 of file domtree.hpp.

◆ child()

DominatorTreeNode* jlm::llvm::DominatorTreeNode::child ( size_t  index) const
inlinenoexcept

Definition at line 63 of file domtree.hpp.

◆ create()

static std::unique_ptr<DominatorTreeNode> jlm::llvm::DominatorTreeNode::create ( ControlFlowGraphNode node)
inlinestatic

Definition at line 88 of file domtree.hpp.

◆ depth()

size_t jlm::llvm::DominatorTreeNode::depth ( ) const
inlinenoexcept

Definition at line 82 of file domtree.hpp.

◆ end()

const_iterator jlm::llvm::DominatorTreeNode::end ( ) const
inline

Definition at line 48 of file domtree.hpp.

◆ nchildren()

size_t jlm::llvm::DominatorTreeNode::nchildren ( ) const
inlinenoexcept

Definition at line 57 of file domtree.hpp.

◆ node()

ControlFlowGraphNode* jlm::llvm::DominatorTreeNode::node ( ) const
inlinenoexcept

Definition at line 70 of file domtree.hpp.

◆ operator=() [1/2]

DominatorTreeNode& jlm::llvm::DominatorTreeNode::operator= ( const DominatorTreeNode )
delete

◆ operator=() [2/2]

DominatorTreeNode& jlm::llvm::DominatorTreeNode::operator= ( DominatorTreeNode &&  )
delete

◆ parent()

DominatorTreeNode* jlm::llvm::DominatorTreeNode::parent ( ) const
inlinenoexcept

Definition at line 76 of file domtree.hpp.

Member Data Documentation

◆ children_

std::vector<std::unique_ptr<DominatorTreeNode> > jlm::llvm::DominatorTreeNode::children_
private

Definition at line 97 of file domtree.hpp.

◆ depth_

size_t jlm::llvm::DominatorTreeNode::depth_
private

Definition at line 94 of file domtree.hpp.

◆ node_

ControlFlowGraphNode* jlm::llvm::DominatorTreeNode::node_
private

Definition at line 95 of file domtree.hpp.

◆ parent_

DominatorTreeNode* jlm::llvm::DominatorTreeNode::parent_
private

Definition at line 96 of file domtree.hpp.


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