Jlm
Public Member Functions | Private Attributes | List of all members
jlm::rvsdg::BitSliceOperation Class Referencefinal

#include <slice.hpp>

Inheritance diagram for jlm::rvsdg::BitSliceOperation:
Inheritance graph
[legend]
Collaboration diagram for jlm::rvsdg::BitSliceOperation:
Collaboration graph
[legend]

Public Member Functions

 ~BitSliceOperation () noexcept override
 
 BitSliceOperation (const std::shared_ptr< const BitType > &argument, size_t low, size_t high) noexcept
 
bool operator== (const Operation &other) const noexcept override
 
std::string debug_string () const override
 
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
 
size_t low () const noexcept
 
size_t high () const noexcept
 
std::unique_ptr< Operationcopy () const override
 
const Typeargument_type () 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
 
bool operator!= (const Operation &other) const noexcept
 

Private Attributes

size_t low_
 

Detailed Description

Definition at line 17 of file slice.hpp.

Constructor & Destructor Documentation

◆ ~BitSliceOperation()

jlm::rvsdg::BitSliceOperation::~BitSliceOperation ( )
overridedefaultnoexcept

◆ BitSliceOperation()

jlm::rvsdg::BitSliceOperation::BitSliceOperation ( const std::shared_ptr< const BitType > &  argument,
size_t  low,
size_t  high 
)
inlinenoexcept

Definition at line 22 of file slice.hpp.

Member Function Documentation

◆ argument_type()

const Type& jlm::rvsdg::BitSliceOperation::argument_type ( ) const
inlinenoexcept

Definition at line 58 of file slice.hpp.

◆ can_reduce_operand()

unop_reduction_path_t jlm::rvsdg::BitSliceOperation::can_reduce_operand ( const jlm::rvsdg::Output arg) const
overridevirtualnoexcept

Implements jlm::rvsdg::UnaryOperation.

Definition at line 31 of file slice.cpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 100 of file slice.cpp.

◆ debug_string()

std::string jlm::rvsdg::BitSliceOperation::debug_string ( ) const
overridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 25 of file slice.cpp.

◆ high()

size_t jlm::rvsdg::BitSliceOperation::high ( ) const
inlinenoexcept

Definition at line 49 of file slice.hpp.

◆ low()

size_t jlm::rvsdg::BitSliceOperation::low ( ) const
inlinenoexcept

Definition at line 43 of file slice.hpp.

◆ operator==()

bool jlm::rvsdg::BitSliceOperation::operator== ( const Operation other) const
overridevirtualnoexcept

Implements jlm::rvsdg::Operation.

Definition at line 18 of file slice.cpp.

◆ reduce_operand()

jlm::rvsdg::Output * jlm::rvsdg::BitSliceOperation::reduce_operand ( unop_reduction_path_t  path,
jlm::rvsdg::Output arg 
) const
overridevirtual

Implements jlm::rvsdg::UnaryOperation.

Definition at line 52 of file slice.cpp.

Member Data Documentation

◆ low_

size_t jlm::rvsdg::BitSliceOperation::low_
private

Definition at line 64 of file slice.hpp.


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