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

#include <operators.hpp>

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

Public Member Functions

 ~ExtractValueOperation () noexcept override
 
 ExtractValueOperation (const std::shared_ptr< const jlm::rvsdg::Type > &aggtype, const std::vector< unsigned > &indices)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
const_iterator begin () const
 
const_iterator end () const
 
const jlm::rvsdg::Typetype () 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 llvm::Variable *aggregate, const std::vector< unsigned > &indices)
 

Private Types

typedef std::vector< unsigned >::const_iterator const_iterator
 

Static Private Member Functions

static std::vector< std::shared_ptr< const rvsdg::Type > > dsttype (const std::shared_ptr< const jlm::rvsdg::Type > &aggtype, const std::vector< unsigned > &indices)
 

Private Attributes

std::vector< unsigned > indices_
 

Detailed Description

Definition at line 2313 of file operators.hpp.

Member Typedef Documentation

◆ const_iterator

typedef std::vector<unsigned>::const_iterator jlm::llvm::ExtractValueOperation::const_iterator
private

Definition at line 2315 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~ExtractValueOperation()

jlm::llvm::ExtractValueOperation::~ExtractValueOperation ( )
overridedefaultnoexcept

◆ ExtractValueOperation()

jlm::llvm::ExtractValueOperation::ExtractValueOperation ( const std::shared_ptr< const jlm::rvsdg::Type > &  aggtype,
const std::vector< unsigned > &  indices 
)
inline

Definition at line 2320 of file operators.hpp.

Member Function Documentation

◆ begin()

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

Definition at line 2340 of file operators.hpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 1082 of file operators.cpp.

◆ create()

static std::unique_ptr<llvm::ThreeAddressCode> jlm::llvm::ExtractValueOperation::create ( const llvm::Variable aggregate,
const std::vector< unsigned > &  indices 
)
inlinestatic

Definition at line 2358 of file operators.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 1076 of file operators.cpp.

◆ dsttype()

static std::vector<std::shared_ptr<const rvsdg::Type> > jlm::llvm::ExtractValueOperation::dsttype ( const std::shared_ptr< const jlm::rvsdg::Type > &  aggtype,
const std::vector< unsigned > &  indices 
)
inlinestaticprivate

Definition at line 2366 of file operators.hpp.

◆ end()

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

Definition at line 2346 of file operators.hpp.

◆ operator==()

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

Definition at line 1069 of file operators.cpp.

◆ type()

const jlm::rvsdg::Type& jlm::llvm::ExtractValueOperation::type ( ) const
inlinenoexcept

Definition at line 2352 of file operators.hpp.

Member Data Documentation

◆ indices_

std::vector<unsigned> jlm::llvm::ExtractValueOperation::indices_
private

Definition at line 2394 of file operators.hpp.


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