|
Jlm
|
#include <IntegerOperations.hpp>


Static Public Member Functions | |
| static rvsdg::Node & | createNode (const size_t numBits, rvsdg::Output &operand1, rvsdg::Output &operand2) |
| static std::optional< std::vector< rvsdg::Output * > > | foldConstants (const IntegerEqOperation &operation, const std::vector< rvsdg::Output * > &operands) |
| static std::optional< std::vector< rvsdg::Output * > > | normalizeIdenticalOperands (const IntegerEqOperation &operation, const std::vector< rvsdg::Output * > &operands) |
Additional Inherited Members | |
Public Types inherited from jlm::rvsdg::BinaryOperation | |
| enum class | flags { none = 0 , associative = 1 , commutative = 2 } |
This operation is equivalent to LLVM's 'icmp' instruction with condition 'eq' for integer operands. See LLVM Language Reference Manual for more details.
Definition at line 856 of file IntegerOperations.hpp.
|
overridedefaultnoexcept |
|
inlineexplicit |
Definition at line 861 of file IntegerOperations.hpp.
|
overridevirtualnoexcept |
Implements jlm::rvsdg::BinaryOperation.
Definition at line 884 of file IntegerOperations.cpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 878 of file IntegerOperations.cpp.
|
inlinestatic |
Definition at line 886 of file IntegerOperations.hpp.
|
overridevirtual |
Implements jlm::rvsdg::Operation.
Definition at line 872 of file IntegerOperations.cpp.
|
overridevirtualnoexcept |
Reimplemented from jlm::rvsdg::BinaryOperation.
Definition at line 900 of file IntegerOperations.cpp.
|
static |
Performs constant folding by statically evaluating the two constant operands and replacing the operations result with the resulting constant.
| operation | The IntegerEqOperation on which the transformation is performed. |
| operands | The operands of the IntegerEqOperation node. |
Definition at line 906 of file IntegerOperations.cpp.
|
static |
Performs the following normalization: y = IntegerEqOperation x x => y = 1
| operation | The IntegerEqOperation on which the transformation is performed. |
| operands | The operands of the IntegerEqOperation node. |
Definition at line 914 of file IntegerOperations.cpp.
|
overridenoexcept |
Definition at line 865 of file IntegerOperations.cpp.
|
overridevirtual |
Implements jlm::rvsdg::BinaryOperation.
Definition at line 891 of file IntegerOperations.cpp.