7 #ifndef JLM_RVSDG_BITSTRING_COMPARISON_HPP
8 #define JLM_RVSDG_BITSTRING_COMPARISON_HPP
16 template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
30 flags() const noexcept override;
40 copy() const override;
43 create(
size_t nbits) const override;
48 return CreateOpNode<MakeBitComparisonOperation>({ op1, op2 }, nbits).output(0);
BitCompareOperation(std::shared_ptr< const BitType > type) noexcept
static std::shared_ptr< const BitType > Create(std::size_t nbits)
Creates bit type of specified width.
enum BinaryOperation::flags flags() const noexcept override
MakeBitComparisonOperation(std::size_t nbits) noexcept
std::string debug_string() const override
compare_result reduce_constants(const BitValueRepresentation &arg1, const BitValueRepresentation &arg2) const override
std::unique_ptr< BitCompareOperation > create(size_t nbits) const override
std::unique_ptr< Operation > copy() const override
~MakeBitComparisonOperation() noexcept override
bool operator==(const Operation &other) const noexcept override