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

#include <operators.hpp>

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

Public Member Functions

 ~ConstantStruct () override
 
 ConstantStruct (std::shared_ptr< const StructType > type)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
const StructTypetype () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::SimpleOperation
 ~SimpleOperation () noexcept override
 
 SimpleOperation (std::vector< std::shared_ptr< const jlm::rvsdg::Type >> operands, std::vector< std::shared_ptr< const jlm::rvsdg::Type >> results)
 
size_t narguments () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & argument (size_t index) const noexcept
 
size_t nresults () const noexcept
 
const std::shared_ptr< const rvsdg::Type > & result (size_t index) const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::Operation
virtual ~Operation () noexcept
 
virtual bool operator== (const Operation &other) const noexcept=0
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static std::unique_ptr< llvm::ThreeAddressCodecreate (const std::vector< const Variable * > &elements, const std::shared_ptr< const jlm::rvsdg::Type > &type)
 
static rvsdg::OutputCreate (rvsdg::Region &, const std::vector< rvsdg::Output * > &operands, std::shared_ptr< const rvsdg::Type > resultType)
 

Static Private Member Functions

static std::vector< std::shared_ptr< const rvsdg::Type > > create_srctypes (const StructType &type)
 
static std::shared_ptr< const StructTypeCheckAndExtractStructType (std::shared_ptr< const rvsdg::Type > type)
 

Detailed Description

Definition at line 1533 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~ConstantStruct()

jlm::llvm::ConstantStruct::~ConstantStruct ( )
override

Definition at line 755 of file operators.cpp.

◆ ConstantStruct()

jlm::llvm::ConstantStruct::ConstantStruct ( std::shared_ptr< const StructType type)
inline

Definition at line 1538 of file operators.hpp.

Member Function Documentation

◆ CheckAndExtractStructType()

static std::shared_ptr<const StructType> jlm::llvm::ConstantStruct::CheckAndExtractStructType ( std::shared_ptr< const rvsdg::Type type)
inlinestaticprivate

Definition at line 1590 of file operators.hpp.

◆ copy()

std::unique_ptr< rvsdg::Operation > jlm::llvm::ConstantStruct::copy ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 772 of file operators.cpp.

◆ create()

static std::unique_ptr<llvm::ThreeAddressCode> jlm::llvm::ConstantStruct::create ( const std::vector< const Variable * > &  elements,
const std::shared_ptr< const jlm::rvsdg::Type > &  type 
)
inlinestatic

Definition at line 1558 of file operators.hpp.

◆ Create()

static rvsdg::Output& jlm::llvm::ConstantStruct::Create ( rvsdg::Region ,
const std::vector< rvsdg::Output * > &  operands,
std::shared_ptr< const rvsdg::Type resultType 
)
inlinestatic

Definition at line 1569 of file operators.hpp.

◆ create_srctypes()

static std::vector<std::shared_ptr<const rvsdg::Type> > jlm::llvm::ConstantStruct::create_srctypes ( const StructType type)
inlinestaticprivate

Definition at line 1580 of file operators.hpp.

◆ debug_string()

std::string jlm::llvm::ConstantStruct::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 766 of file operators.cpp.

◆ operator==()

bool jlm::llvm::ConstantStruct::operator== ( const Operation &  other) const
overridenoexcept

Definition at line 759 of file operators.cpp.

◆ type()

const StructType& jlm::llvm::ConstantStruct::type ( ) const
inlinenoexcept

Definition at line 1552 of file operators.hpp.


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