Jlm
Public Member Functions | Private Attributes | List of all members
BinaryOperation Class Referencefinal
Inheritance diagram for BinaryOperation:
Inheritance graph
[legend]
Collaboration diagram for BinaryOperation:
Collaboration graph
[legend]

Public Member Functions

 BinaryOperation (const std::shared_ptr< const jlm::rvsdg::Type > operandType, const std::shared_ptr< const jlm::rvsdg::Type > resultType, const enum jlm::rvsdg::BinaryOperation::flags &flags)
 
jlm::rvsdg::binop_reduction_path_t can_reduce_operand_pair (const jlm::rvsdg::Output *operand1, const jlm::rvsdg::Output *operand2) const noexcept override
 
jlm::rvsdg::Outputreduce_operand_pair (jlm::rvsdg::unop_reduction_path_t path, jlm::rvsdg::Output *, jlm::rvsdg::Output *op2) const override
 
enum jlm::rvsdg::BinaryOperation::flags flags () const noexcept override
 
bool operator== (const Operation &) const noexcept override
 
std::string debug_string () const override
 
std::unique_ptr< Operationcopy () const override
 
- Public Member Functions inherited from jlm::rvsdg::BinaryOperation
 ~BinaryOperation () noexcept override
 
 BinaryOperation (const std::vector< std::shared_ptr< const jlm::rvsdg::Type >> operands, std::shared_ptr< const jlm::rvsdg::Type > result)
 
bool is_associative () const noexcept
 
bool is_commutative () 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
 

Private Attributes

enum jlm::rvsdg::BinaryOperation::flags Flags_
 

Additional Inherited Members

- Public Types inherited from jlm::rvsdg::BinaryOperation
enum class  flags { none = 0 , associative = 1 , commutative = 2 }
 

Detailed Description

Definition at line 13 of file BinaryTests.cpp.

Constructor & Destructor Documentation

◆ BinaryOperation()

BinaryOperation::BinaryOperation ( const std::shared_ptr< const jlm::rvsdg::Type operandType,
const std::shared_ptr< const jlm::rvsdg::Type resultType,
const enum jlm::rvsdg::BinaryOperation::flags flags 
)
inline

Definition at line 16 of file BinaryTests.cpp.

Member Function Documentation

◆ can_reduce_operand_pair()

jlm::rvsdg::binop_reduction_path_t BinaryOperation::can_reduce_operand_pair ( const jlm::rvsdg::Output operand1,
const jlm::rvsdg::Output operand2 
) const
inlineoverridevirtualnoexcept

Implements jlm::rvsdg::BinaryOperation.

Definition at line 25 of file BinaryTests.cpp.

◆ copy()

std::unique_ptr<Operation> BinaryOperation::copy ( ) const
inlineoverridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 74 of file BinaryTests.cpp.

◆ debug_string()

std::string BinaryOperation::debug_string ( ) const
inlineoverridevirtual

Implements jlm::rvsdg::Operation.

Definition at line 68 of file BinaryTests.cpp.

◆ flags()

enum jlm::rvsdg::BinaryOperation::flags BinaryOperation::flags ( ) const
inlineoverridevirtualnoexcept

Reimplemented from jlm::rvsdg::BinaryOperation.

Definition at line 41 of file BinaryTests.cpp.

◆ operator==()

bool BinaryOperation::operator== ( const Operation ) const
inlineoverridenoexcept

Definition at line 62 of file BinaryTests.cpp.

◆ reduce_operand_pair()

jlm::rvsdg::Output* BinaryOperation::reduce_operand_pair ( jlm::rvsdg::unop_reduction_path_t  path,
jlm::rvsdg::Output ,
jlm::rvsdg::Output op2 
) const
inlineoverridevirtual

Implements jlm::rvsdg::BinaryOperation.

Definition at line 41 of file BinaryTests.cpp.

Member Data Documentation

◆ Flags_

enum jlm::rvsdg::BinaryOperation::flags BinaryOperation::Flags_
private

Definition at line 74 of file BinaryTests.cpp.


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