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

#include <TestOperations.hpp>

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

Public Member Functions

 ~TestBinaryOperation () noexcept override
 
 TestBinaryOperation (const std::shared_ptr< const Type > &operandType, std::shared_ptr< const Type > resultType, const enum BinaryOperation::flags &flags) noexcept
 
bool operator== (const Operation &other) const noexcept override
 
binop_reduction_path_t can_reduce_operand_pair (const Output *op1, const Output *op2) const noexcept override
 
Outputreduce_operand_pair (unop_reduction_path_t path, Output *op1, Output *op2) const override
 
enum BinaryOperation::flags flags () 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
 
bool operator!= (const Operation &other) const noexcept
 

Static Public Member Functions

static Nodecreate (const std::shared_ptr< const Type > &operandType, std::shared_ptr< const Type > resultType, Output *op1, Output *op2)
 
static Outputcreate_normalized (const std::shared_ptr< const Type > operandType, std::shared_ptr< const Type > resultType, Output *op1, Output *op2)
 

Private Attributes

enum 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 96 of file TestOperations.hpp.

Constructor & Destructor Documentation

◆ ~TestBinaryOperation()

jlm::rvsdg::TestBinaryOperation::~TestBinaryOperation ( )
overridedefaultnoexcept

◆ TestBinaryOperation()

jlm::rvsdg::TestBinaryOperation::TestBinaryOperation ( const std::shared_ptr< const Type > &  operandType,
std::shared_ptr< const Type resultType,
const enum BinaryOperation::flags flags 
)
inlinenoexcept

Definition at line 101 of file TestOperations.hpp.

Member Function Documentation

◆ can_reduce_operand_pair()

binop_reduction_path_t jlm::rvsdg::TestBinaryOperation::can_reduce_operand_pair ( const Output op1,
const Output op2 
) const
overridevirtualnoexcept

Implements jlm::rvsdg::BinaryOperation.

Definition at line 54 of file TestOperations.cpp.

◆ copy()

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

Implements jlm::rvsdg::Operation.

Definition at line 78 of file TestOperations.cpp.

◆ create()

static Node* jlm::rvsdg::TestBinaryOperation::create ( const std::shared_ptr< const Type > &  operandType,
std::shared_ptr< const Type resultType,
Output op1,
Output op2 
)
inlinestatic

Definition at line 128 of file TestOperations.hpp.

◆ create_normalized()

static Output* jlm::rvsdg::TestBinaryOperation::create_normalized ( const std::shared_ptr< const Type operandType,
std::shared_ptr< const Type resultType,
Output op1,
Output op2 
)
inlinestatic

Definition at line 142 of file TestOperations.hpp.

◆ debug_string()

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

Implements jlm::rvsdg::Operation.

Definition at line 72 of file TestOperations.cpp.

◆ flags()

enum BinaryOperation::flags jlm::rvsdg::TestBinaryOperation::flags ( ) const
overridevirtualnoexcept

Reimplemented from jlm::rvsdg::BinaryOperation.

Definition at line 60 of file TestOperations.cpp.

◆ operator==()

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

Implements jlm::rvsdg::Operation.

Definition at line 47 of file TestOperations.cpp.

◆ reduce_operand_pair()

Output * jlm::rvsdg::TestBinaryOperation::reduce_operand_pair ( unop_reduction_path_t  path,
Output op1,
Output op2 
) const
overridevirtual

Implements jlm::rvsdg::BinaryOperation.

Definition at line 60 of file TestOperations.cpp.

Member Data Documentation

◆ flags_

enum BinaryOperation::flags jlm::rvsdg::TestBinaryOperation::flags_
private

Definition at line 142 of file TestOperations.hpp.


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