6#ifndef JLM_RVSDG_BITSTRING_COMPARISON_IMPL_HPP
7#define JLM_RVSDG_BITSTRING_COMPARISON_IMPL_HPP
14template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
18template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
27template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
44template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
51template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
58template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
59std::unique_ptr<Operation>
62 return std::make_unique<MakeBitComparisonOperation>(*
this);
65template<
typename reduction, const
char * name, enum BinaryOperation::flags opflags>
66std::unique_ptr<BitCompareOperation>
69 return std::make_unique<MakeBitComparisonOperation>(nbits);
const BitType & type() const noexcept
enum BinaryOperation::flags flags() const noexcept override
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
NodeType * TryGetOwnerNode(const rvsdg::Input &input) noexcept
Checks if this is an input to a node of specified type.
static std::string strfmt(Args... args)