Jlm
Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
jlm::llvm::InterProceduralGraphNode Class Referenceabstract

#include <ipgraph.hpp>

Inheritance diagram for jlm::llvm::InterProceduralGraphNode:
Inheritance graph
[legend]
Collaboration diagram for jlm::llvm::InterProceduralGraphNode:
Collaboration graph
[legend]

Public Member Functions

virtual ~InterProceduralGraphNode () noexcept
 
InterProceduralGraphclg () const noexcept
 
void add_dependency (const InterProceduralGraphNode *dep)
 
const_iterator begin () const
 
const_iterator end () const
 
bool is_selfrecursive () const noexcept
 
virtual const std::string & name () const noexcept=0
 
virtual const jlm::rvsdg::Typetype () const noexcept=0
 
virtual std::shared_ptr< const jlm::rvsdg::TypeType () const =0
 
virtual const llvm::Linkagelinkage () const noexcept=0
 
virtual bool hasBody () const noexcept=0
 

Protected Member Functions

 InterProceduralGraphNode (InterProceduralGraph &clg)
 

Private Types

typedef std::unordered_set< const InterProceduralGraphNode * >::const_iterator const_iterator
 

Private Attributes

InterProceduralGraphclg_
 
std::unordered_set< const InterProceduralGraphNode * > dependencies_
 

Detailed Description

Definition at line 76 of file ipgraph.hpp.

Member Typedef Documentation

◆ const_iterator

Definition at line 78 of file ipgraph.hpp.

Constructor & Destructor Documentation

◆ ~InterProceduralGraphNode()

jlm::llvm::InterProceduralGraphNode::~InterProceduralGraphNode ( )
virtualdefaultnoexcept

◆ InterProceduralGraphNode()

jlm::llvm::InterProceduralGraphNode::InterProceduralGraphNode ( InterProceduralGraph clg)
inlineexplicitprotected

Definition at line 84 of file ipgraph.hpp.

Member Function Documentation

◆ add_dependency()

void jlm::llvm::InterProceduralGraphNode::add_dependency ( const InterProceduralGraphNode dep)
inline

Definition at line 96 of file ipgraph.hpp.

◆ begin()

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

Definition at line 102 of file ipgraph.hpp.

◆ clg()

InterProceduralGraph& jlm::llvm::InterProceduralGraphNode::clg ( ) const
inlinenoexcept

Definition at line 90 of file ipgraph.hpp.

◆ end()

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

Definition at line 108 of file ipgraph.hpp.

◆ hasBody()

virtual bool jlm::llvm::InterProceduralGraphNode::hasBody ( ) const
pure virtualnoexcept

◆ is_selfrecursive()

bool jlm::llvm::InterProceduralGraphNode::is_selfrecursive ( ) const
inlinenoexcept

Definition at line 114 of file ipgraph.hpp.

◆ linkage()

virtual const llvm::Linkage& jlm::llvm::InterProceduralGraphNode::linkage ( ) const
pure virtualnoexcept

◆ name()

virtual const std::string& jlm::llvm::InterProceduralGraphNode::name ( ) const
pure virtualnoexcept

◆ Type()

virtual std::shared_ptr<const jlm::rvsdg::Type> jlm::llvm::InterProceduralGraphNode::Type ( ) const
pure virtual

◆ type()

virtual const jlm::rvsdg::Type& jlm::llvm::InterProceduralGraphNode::type ( ) const
pure virtualnoexcept

Member Data Documentation

◆ clg_

InterProceduralGraph& jlm::llvm::InterProceduralGraphNode::clg_
private

Definition at line 138 of file ipgraph.hpp.

◆ dependencies_

std::unordered_set<const InterProceduralGraphNode *> jlm::llvm::InterProceduralGraphNode::dependencies_
private

Definition at line 139 of file ipgraph.hpp.


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