Jlm
Public Member Functions | List of all members
jlm::rvsdg::UnaryOperation Class Referenceabstract

Unary operator. More...

#include <unary.hpp>

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

Public Member Functions

 ~UnaryOperation () noexcept override
 
 UnaryOperation (std::shared_ptr< const jlm::rvsdg::Type > operand, std::shared_ptr< const jlm::rvsdg::Type > result)
 
virtual unop_reduction_path_t can_reduce_operand (const jlm::rvsdg::Output *arg) const noexcept=0
 
virtual jlm::rvsdg::Outputreduce_operand (unop_reduction_path_t path, jlm::rvsdg::Output *arg) const =0
 
- 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
 
virtual std::string debug_string () const =0
 
virtual std::unique_ptr< Operationcopy () const =0
 
bool operator!= (const Operation &other) const noexcept
 

Detailed Description

Unary operator.

Operator taking a single argument.

Definition at line 25 of file unary.hpp.

Constructor & Destructor Documentation

◆ ~UnaryOperation()

jlm::rvsdg::UnaryOperation::~UnaryOperation ( )
overridenoexcept

Definition at line 13 of file unary.cpp.

◆ UnaryOperation()

jlm::rvsdg::UnaryOperation::UnaryOperation ( std::shared_ptr< const jlm::rvsdg::Type operand,
std::shared_ptr< const jlm::rvsdg::Type result 
)
inline

Definition at line 30 of file unary.hpp.

Member Function Documentation

◆ can_reduce_operand()

virtual unop_reduction_path_t jlm::rvsdg::UnaryOperation::can_reduce_operand ( const jlm::rvsdg::Output arg) const
pure virtualnoexcept

◆ reduce_operand()

virtual jlm::rvsdg::Output* jlm::rvsdg::UnaryOperation::reduce_operand ( unop_reduction_path_t  path,
jlm::rvsdg::Output arg 
) const
pure virtual

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