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

#include <operators.hpp>

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

Public Member Functions

 ~ZExtOperation () noexcept override
 
 ZExtOperation (size_t nsrcbits, size_t ndstbits)
 
 ZExtOperation (const std::shared_ptr< const jlm::rvsdg::BitType > &srctype, const std::shared_ptr< const jlm::rvsdg::BitType > &dsttype)
 
 ZExtOperation (std::shared_ptr< const jlm::rvsdg::Type > srctype, std::shared_ptr< const jlm::rvsdg::Type > dsttype)
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operation > copy () const override
 
jlm::rvsdg::unop_reduction_path_t can_reduce_operand (const jlm::rvsdg::Output *operand) const noexcept override
 
jlm::rvsdg::Outputreduce_operand (jlm::rvsdg::unop_reduction_path_t path, jlm::rvsdg::Output *operand) const override
 
size_t nsrcbits () const noexcept
 
size_t ndstbits () const noexcept
 
- Public Member Functions inherited from jlm::rvsdg::UnaryOperation
 ~UnaryOperation () noexcept override
 
 UnaryOperation (std::shared_ptr< const jlm::rvsdg::Type > operand, std::shared_ptr< const jlm::rvsdg::Type > result)
 
- 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 Variable *operand, const std::shared_ptr< const jlm::rvsdg::Type > &type)
 
static rvsdg::OutputCreate (rvsdg::Output &operand, const std::shared_ptr< const rvsdg::Type > &resultType)
 

Static Private Member Functions

static std::shared_ptr< const rvsdg::BitTypeCheckAndExtractBitType (const std::shared_ptr< const rvsdg::Type > &type)
 

Detailed Description

Definition at line 744 of file operators.hpp.

Constructor & Destructor Documentation

◆ ~ZExtOperation()

jlm::llvm::ZExtOperation::~ZExtOperation ( )
overridedefaultnoexcept

◆ ZExtOperation() [1/3]

jlm::llvm::ZExtOperation::ZExtOperation ( size_t  nsrcbits,
size_t  ndstbits 
)
inline

Definition at line 749 of file operators.hpp.

◆ ZExtOperation() [2/3]

jlm::llvm::ZExtOperation::ZExtOperation ( const std::shared_ptr< const jlm::rvsdg::BitType > &  srctype,
const std::shared_ptr< const jlm::rvsdg::BitType > &  dsttype 
)
inline

Definition at line 756 of file operators.hpp.

◆ ZExtOperation() [3/3]

jlm::llvm::ZExtOperation::ZExtOperation ( std::shared_ptr< const jlm::rvsdg::Type srctype,
std::shared_ptr< const jlm::rvsdg::Type dsttype 
)
inline

Definition at line 765 of file operators.hpp.

Member Function Documentation

◆ can_reduce_operand()

rvsdg::unop_reduction_path_t jlm::llvm::ZExtOperation::can_reduce_operand ( const jlm::rvsdg::Output operand) const
overridevirtualnoexcept

Implements jlm::rvsdg::UnaryOperation.

Definition at line 395 of file operators.cpp.

◆ CheckAndExtractBitType()

static std::shared_ptr<const rvsdg::BitType> jlm::llvm::ZExtOperation::CheckAndExtractBitType ( const std::shared_ptr< const rvsdg::Type > &  type)
inlinestaticprivate

Definition at line 836 of file operators.hpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 389 of file operators.cpp.

◆ create()

static std::unique_ptr<llvm::ThreeAddressCode> jlm::llvm::ZExtOperation::create ( const Variable operand,
const std::shared_ptr< const jlm::rvsdg::Type > &  type 
)
inlinestatic

Definition at line 811 of file operators.hpp.

◆ Create()

static rvsdg::Output& jlm::llvm::ZExtOperation::Create ( rvsdg::Output operand,
const std::shared_ptr< const rvsdg::Type > &  resultType 
)
inlinestatic

Definition at line 822 of file operators.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 383 of file operators.cpp.

◆ ndstbits()

size_t jlm::llvm::ZExtOperation::ndstbits ( ) const
inlinenoexcept

Definition at line 805 of file operators.hpp.

◆ nsrcbits()

size_t jlm::llvm::ZExtOperation::nsrcbits ( ) const
inlinenoexcept

Definition at line 799 of file operators.hpp.

◆ operator==()

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

Definition at line 376 of file operators.cpp.

◆ reduce_operand()

rvsdg::Output * jlm::llvm::ZExtOperation::reduce_operand ( jlm::rvsdg::unop_reduction_path_t  path,
jlm::rvsdg::Output operand 
) const
overridevirtual

Implements jlm::rvsdg::UnaryOperation.

Definition at line 405 of file operators.cpp.


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