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
 
size_t getAlignment () const noexcept
 
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
 
size_t numDependencies () 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, const bool constant, const size_t alignment)
 

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, const bool constant, const size_t alignment)
 

Private Attributes

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

Additional Inherited Members

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

Detailed Description

Definition at line 349 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,
const bool  constant,
const size_t  alignment 
)
inlineprivate

Definition at line 355 of file ipgraph.hpp.

Member Function Documentation

◆ constant()

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

Definition at line 401 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,
const bool  constant,
const size_t  alignment 
)
inlinestatic

Definition at line 431 of file ipgraph.hpp.

◆ getAlignment()

size_t jlm::llvm::DataNode::getAlignment ( ) const
inlinenoexcept

Definition at line 395 of file ipgraph.hpp.

◆ GetValueType()

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

Definition at line 380 of file ipgraph.hpp.

◆ hasBody()

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

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 217 of file ipgraph.cpp.

◆ initialization()

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

Definition at line 413 of file ipgraph.hpp.

◆ linkage()

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

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 211 of file ipgraph.cpp.

◆ name()

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

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 192 of file ipgraph.cpp.

◆ Section()

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

Definition at line 407 of file ipgraph.hpp.

◆ set_initialization()

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

Definition at line 419 of file ipgraph.hpp.

◆ type()

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

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 198 of file ipgraph.cpp.

◆ Type()

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

Implements jlm::llvm::InterProceduralGraphNode.

Definition at line 205 of file ipgraph.cpp.

Member Data Documentation

◆ alignment_

size_t jlm::llvm::DataNode::alignment_
private

Definition at line 460 of file ipgraph.hpp.

◆ constant_

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

Definition at line 454 of file ipgraph.hpp.

◆ init_

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

Definition at line 459 of file ipgraph.hpp.

◆ linkage_

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

Definition at line 457 of file ipgraph.hpp.

◆ name_

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

Definition at line 455 of file ipgraph.hpp.

◆ Section_

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

Definition at line 456 of file ipgraph.hpp.

◆ ValueType_

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

Definition at line 458 of file ipgraph.hpp.


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