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

#include <ipgraph.hpp>

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

Public Member Functions

 ~DataNode () noexcept override
 
const PointerTypetype () const noexcept override
 
std::shared_ptr< const jlm::rvsdg::TypeType () const override
 
const std::shared_ptr< const jlm::rvsdg::Type > & GetValueType () const noexcept
 
const std::string & name () const noexcept override
 
const llvm::Linkagelinkage () const noexcept override
 
bool hasBody () const noexcept override
 
bool constant () const noexcept
 
const std::string & Section () const noexcept
 
const DataNodeInitinitialization () const noexcept
 
void set_initialization (std::unique_ptr< DataNodeInit > init)
 
- Public Member Functions inherited from jlm::llvm::InterProceduralGraphNode
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
 

Static Public Member Functions

static DataNodeCreate (InterProceduralGraph &clg, const std::string &name, std::shared_ptr< const jlm::rvsdg::Type > valueType, const llvm::Linkage &linkage, std::string section, bool constant)
 

Private Member Functions

 DataNode (InterProceduralGraph &clg, const std::string &name, std::shared_ptr< const jlm::rvsdg::Type > valueType, const llvm::Linkage &linkage, std::string section, bool constant)
 

Private Attributes

bool constant_
 
std::string name_
 
std::string Section_
 
llvm::Linkage linkage_
 
std::shared_ptr< const jlm::rvsdg::TypeValueType_
 
std::unique_ptr< DataNodeInitinit_
 

Additional Inherited Members

- Protected Member Functions inherited from jlm::llvm::InterProceduralGraphNode
 InterProceduralGraphNode (InterProceduralGraph &clg)
 

Detailed Description

Definition at line 311 of file ipgraph.hpp.

Constructor & Destructor Documentation

◆ ~DataNode()

jlm::llvm::DataNode::~DataNode ( )
overridedefaultnoexcept

◆ DataNode()

jlm::llvm::DataNode::DataNode ( InterProceduralGraph clg,
const std::string &  name,
std::shared_ptr< const jlm::rvsdg::Type valueType,
const llvm::Linkage linkage,
std::string  section,
bool  constant 
)
inlineprivate

Definition at line 317 of file ipgraph.hpp.

Member Function Documentation

◆ constant()

bool jlm::llvm::DataNode::constant ( ) const
inlinenoexcept

Definition at line 355 of file ipgraph.hpp.

◆ Create()

static DataNode* jlm::llvm::DataNode::Create ( InterProceduralGraph clg,
const std::string &  name,
std::shared_ptr< const jlm::rvsdg::Type valueType,
const llvm::Linkage linkage,
std::string  section,
bool  constant 
)
inlinestatic

Definition at line 385 of file ipgraph.hpp.

◆ GetValueType()

const std::shared_ptr<const jlm::rvsdg::Type>& jlm::llvm::DataNode::GetValueType ( ) const
inlinenoexcept

Definition at line 340 of file ipgraph.hpp.

◆ hasBody()

bool jlm::llvm::DataNode::hasBody ( ) const
overridevirtualnoexcept

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 167 of file ipgraph.cpp.

◆ initialization()

const DataNodeInit* jlm::llvm::DataNode::initialization ( ) const
inlinenoexcept

Definition at line 367 of file ipgraph.hpp.

◆ linkage()

const llvm::Linkage & jlm::llvm::DataNode::linkage ( ) const
overridevirtualnoexcept

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 161 of file ipgraph.cpp.

◆ name()

const std::string & jlm::llvm::DataNode::name ( ) const
overridevirtualnoexcept

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 142 of file ipgraph.cpp.

◆ Section()

const std::string& jlm::llvm::DataNode::Section ( ) const
inlinenoexcept

Definition at line 361 of file ipgraph.hpp.

◆ set_initialization()

void jlm::llvm::DataNode::set_initialization ( std::unique_ptr< DataNodeInit init)
inline

Definition at line 373 of file ipgraph.hpp.

◆ type()

const PointerType & jlm::llvm::DataNode::type ( ) const
overridevirtualnoexcept

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 148 of file ipgraph.cpp.

◆ Type()

std::shared_ptr< const rvsdg::Type > jlm::llvm::DataNode::Type ( ) const
overridevirtual

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 155 of file ipgraph.cpp.

Member Data Documentation

◆ constant_

bool jlm::llvm::DataNode::constant_
private

Definition at line 401 of file ipgraph.hpp.

◆ init_

std::unique_ptr<DataNodeInit> jlm::llvm::DataNode::init_
private

Definition at line 406 of file ipgraph.hpp.

◆ linkage_

llvm::Linkage jlm::llvm::DataNode::linkage_
private

Definition at line 404 of file ipgraph.hpp.

◆ name_

std::string jlm::llvm::DataNode::name_
private

Definition at line 402 of file ipgraph.hpp.

◆ Section_

std::string jlm::llvm::DataNode::Section_
private

Definition at line 403 of file ipgraph.hpp.

◆ ValueType_

std::shared_ptr<const jlm::rvsdg::Type> jlm::llvm::DataNode::ValueType_
private

Definition at line 405 of file ipgraph.hpp.


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