Jlm
Public Member Functions | Static Public Member Functions | List of all members
jlm::rvsdg::MakeBitUnaryOperation< reduction, name > Class Template Referencefinal

#include <arithmetic.hpp>

Inheritance diagram for jlm::rvsdg::MakeBitUnaryOperation< reduction, name >:
Inheritance graph
[legend]
Collaboration diagram for jlm::rvsdg::MakeBitUnaryOperation< reduction, name >:
Collaboration graph
[legend]

Public Member Functions

 ~MakeBitUnaryOperation () noexcept override
 
 MakeBitUnaryOperation (std::size_t nbits) noexcept
 
bool operator== (const Operation &other) const noexcept override
 
BitValueRepresentation reduce_constant (const BitValueRepresentation &arg) const override
 
std::string debug_string () const override
 
std::unique_ptr< Operationcopy () const override
 
std::unique_ptr< BitUnaryOperationcreate (size_t nbits) const override
 
- Public Member Functions inherited from jlm::rvsdg::BitUnaryOperation
 ~BitUnaryOperation () noexcept override
 
 BitUnaryOperation (const std::shared_ptr< const BitType > &type) noexcept
 
const BitTypetype () const noexcept
 
unop_reduction_path_t can_reduce_operand (const jlm::rvsdg::Output *arg) const noexcept override
 
jlm::rvsdg::Outputreduce_operand (unop_reduction_path_t path, jlm::rvsdg::Output *arg) const override
 
- 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
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static Outputcreate (size_t nbits, Output *op)
 

Detailed Description

template<typename reduction, const char * name>
class jlm::rvsdg::MakeBitUnaryOperation< reduction, name >

Definition at line 16 of file arithmetic.hpp.

Constructor & Destructor Documentation

◆ ~MakeBitUnaryOperation()

template<typename reduction , const char * name>
jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::~MakeBitUnaryOperation
overridenoexcept

Definition at line 16 of file arithmetic-impl.hpp.

◆ MakeBitUnaryOperation()

template<typename reduction , const char * name>
jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::MakeBitUnaryOperation ( std::size_t  nbits)
inlineexplicitnoexcept

Definition at line 21 of file arithmetic.hpp.

Member Function Documentation

◆ copy()

template<typename reduction , const char * name>
std::unique_ptr< Operation > jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::copy
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 43 of file arithmetic-impl.hpp.

◆ create() [1/2]

template<typename reduction , const char * name>
std::unique_ptr< BitUnaryOperation > jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::create ( size_t  nbits) const
overridevirtual

Implements jlm::rvsdg::BitUnaryOperation.

Definition at line 50 of file arithmetic-impl.hpp.

◆ create() [2/2]

template<typename reduction , const char * name>
static Output* jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::create ( size_t  nbits,
Output op 
)
inlinestatic

Definition at line 41 of file arithmetic.hpp.

◆ debug_string()

template<typename reduction , const char * name>
std::string jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::debug_string
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 36 of file arithmetic-impl.hpp.

◆ operator==()

template<typename reduction , const char * name>
bool jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::operator== ( const Operation other) const
overridevirtualnoexcept

Implements jlm::rvsdg::Operation.

Definition at line 21 of file arithmetic-impl.hpp.

◆ reduce_constant()

template<typename reduction , const char * name>
BitValueRepresentation jlm::rvsdg::MakeBitUnaryOperation< reduction, name >::reduce_constant ( const BitValueRepresentation arg) const
overridevirtual

Implements jlm::rvsdg::BitUnaryOperation.

Definition at line 29 of file arithmetic-impl.hpp.


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