74template <
typename RangeT>
76 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
79 AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
81 AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
AndBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
85 template <
typename LateInst = AndBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndBoolOp>>>
94 return {std::next(odsOperands.begin(), valueRange.first),
95 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
118 ::llvm::LogicalResult
verify(::mlir::Location loc);
120class AndBoolOp :
public ::mlir::Op<AndBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
125 template <
typename RangeT>
133 return ::llvm::StringLiteral(
"bool.and");
142 return {std::next(getOperation()->operand_begin(), valueRange.first),
143 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
146 ::mlir::TypedValue<::mlir::Type>
getLhs() {
147 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
150 ::mlir::TypedValue<::mlir::Type>
getRhs() {
151 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
156 return getOperation()->getOpOperand(range.first);
161 return getOperation()->getOpOperand(range.first);
170 return {std::next(getOperation()->result_begin(), valueRange.first),
171 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
175 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
178 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
179 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
180 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
181 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
182 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
186 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
187 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
188 void print(::mlir::OpAsmPrinter &_odsPrinter);
189 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
192 static ::mlir::ParseResult parseInferredOrParsedType(
193 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
195 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
198 if (parser.parseCustomTypeWithFallback(type)) {
199 return mlir::failure();
205 parser.getBuilder().getIntegerType(1);
207 return mlir::success();
210 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
211 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
213 printer << (isFirst ?
" : " :
", ");
214 printer.printStrippedAttrOrType(opType);
236 auto &propStorage = this->msg;
237 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(propStorage);
239 void setMsg(const ::mlir::StringAttr &propValue) {
240 this->msg = propValue;
244 rhs.
msg == this->msg &&
248 return !(*
this == rhs);
276 auto attr = ::llvm::dyn_cast_or_null<::mlir::StringAttr>(
getProperties().msg);
280 ::std::optional< ::llvm::StringRef >
getMsg();
283template <
typename RangeT>
285 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
296 template <
typename LateInst = AssertOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AssertOp>>>
305 return {std::next(odsOperands.begin(), valueRange.first),
306 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
325 ::llvm::LogicalResult
verify(::mlir::Location loc);
327class AssertOp :
public ::mlir::Op<AssertOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {
332 template <
typename RangeT>
337 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"msg")};
338 return ::llvm::ArrayRef(attrNames);
342 return getAttributeNameForIndex(0);
346 return getAttributeNameForIndex(name, 0);
350 return ::llvm::StringLiteral(
"bool.assert");
359 return {std::next(getOperation()->operand_begin(), valueRange.first),
360 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
364 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSOperands(0).begin());
369 return getOperation()->getOpOperand(range.first);
378 return {std::next(getOperation()->result_begin(), valueRange.first),
379 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
382 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
385 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
388 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
389 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
392 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().msg);
395 ::std::optional< ::llvm::StringRef >
getMsg();
397 getProperties().msg = attr;
400 void setMsg(::std::optional<::llvm::StringRef> attrValue);
402 auto &attr = getProperties().msg;
407 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg);
408 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg);
409 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
412 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
413 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
414 void print(::mlir::OpAsmPrinter &_odsPrinter);
416 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
417 return getAttributeNameForIndex((*this)->getName(), index);
420 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
421 assert(index < 1 &&
"invalid attribute index");
422 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
423 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
424 "dependent dialect loading?");
425 return name.getAttributeNames()[index];
449 auto &propStorage = this->predicate;
450 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(propStorage);
452 void setPredicate(const ::llzk::boolean::FeltCmpPredicateAttr &propValue) {
453 this->predicate = propValue;
461 return !(*
this == rhs);
489 auto attr = ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(
getProperties().predicate);
496template <
typename RangeT>
498 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
509 template <
typename LateInst = CmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, CmpOp>>>
518 return {std::next(odsOperands.begin(), valueRange.first),
519 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
542 ::llvm::LogicalResult
verify(::mlir::Location loc);
544class CmpOp :
public ::mlir::Op<CmpOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
549 template <
typename RangeT>
554 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"predicate")};
555 return ::llvm::ArrayRef(attrNames);
559 return getAttributeNameForIndex(0);
563 return getAttributeNameForIndex(name, 0);
567 return ::llvm::StringLiteral(
"bool.cmp");
576 return {std::next(getOperation()->operand_begin(), valueRange.first),
577 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
580 ::mlir::TypedValue<::llzk::felt::FeltType>
getLhs() {
581 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSOperands(0).begin());
584 ::mlir::TypedValue<::llzk::felt::FeltType>
getRhs() {
585 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSOperands(1).begin());
590 return getOperation()->getOpOperand(range.first);
595 return getOperation()->getOpOperand(range.first);
604 return {std::next(getOperation()->result_begin(), valueRange.first),
605 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
609 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
612 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
615 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
618 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
619 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
622 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(getProperties().predicate);
627 getProperties().predicate = attr;
631 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
632 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
633 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
634 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
636 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
637 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
638 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
642 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
643 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
644 void print(::mlir::OpAsmPrinter &_odsPrinter);
645 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
647 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
648 return getAttributeNameForIndex((*this)->getName(), index);
651 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
652 assert(index < 1 &&
"invalid attribute index");
653 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
654 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
655 "dependent dialect loading?");
656 return name.getAttributeNames()[index];
661 static ::mlir::ParseResult parseInferredOrParsedType(
662 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
664 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
667 if (parser.parseCustomTypeWithFallback(type)) {
668 return mlir::failure();
676 return mlir::success();
679 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
680 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
682 printer << (isFirst ?
" : " :
", ");
683 printer.printStrippedAttrOrType(opType);
721template <
typename RangeT>
723 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
726 NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
732 template <
typename LateInst = NotBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotBoolOp>>>
741 return {std::next(odsOperands.begin(), valueRange.first),
742 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
761 ::llvm::LogicalResult
verify(::mlir::Location loc);
763class NotBoolOp :
public ::mlir::Op<NotBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
768 template <
typename RangeT>
776 return ::llvm::StringLiteral(
"bool.not");
785 return {std::next(getOperation()->operand_begin(), valueRange.first),
786 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
790 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
795 return getOperation()->getOpOperand(range.first);
804 return {std::next(getOperation()->result_begin(), valueRange.first),
805 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
809 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
812 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
813 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
814 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
815 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
816 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
820 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
821 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
822 void print(::mlir::OpAsmPrinter &_odsPrinter);
823 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
826 static ::mlir::ParseResult parseInferredOrParsedType(
827 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
829 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
832 if (parser.parseCustomTypeWithFallback(type)) {
833 return mlir::failure();
839 parser.getBuilder().getIntegerType(1);
841 return mlir::success();
844 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
845 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
847 printer << (isFirst ?
" : " :
", ");
848 printer.printStrippedAttrOrType(opType);
886template <
typename RangeT>
888 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
891 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
893 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
897 template <
typename LateInst = OrBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrBoolOp>>>
906 return {std::next(odsOperands.begin(), valueRange.first),
907 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
930 ::llvm::LogicalResult
verify(::mlir::Location loc);
932class OrBoolOp :
public ::mlir::Op<OrBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
937 template <
typename RangeT>
945 return ::llvm::StringLiteral(
"bool.or");
954 return {std::next(getOperation()->operand_begin(), valueRange.first),
955 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
958 ::mlir::TypedValue<::mlir::Type>
getLhs() {
959 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
962 ::mlir::TypedValue<::mlir::Type>
getRhs() {
963 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
968 return getOperation()->getOpOperand(range.first);
973 return getOperation()->getOpOperand(range.first);
982 return {std::next(getOperation()->result_begin(), valueRange.first),
983 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
987 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
990 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
991 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
992 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
993 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
994 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
998 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
999 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1000 void print(::mlir::OpAsmPrinter &_odsPrinter);
1001 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1004 static ::mlir::ParseResult parseInferredOrParsedType(
1005 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1007 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1010 if (parser.parseCustomTypeWithFallback(type)) {
1011 return mlir::failure();
1017 parser.getBuilder().getIntegerType(1);
1019 return mlir::success();
1022 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1023 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1025 printer << (isFirst ?
" : " :
", ");
1026 printer.printStrippedAttrOrType(opType);
1064template <
typename RangeT>
1066 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1069 XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1075 template <
typename LateInst = XorBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XorBoolOp>>>
1084 return {std::next(odsOperands.begin(), valueRange.first),
1085 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1108 ::llvm::LogicalResult
verify(::mlir::Location loc);
1110class XorBoolOp :
public ::mlir::Op<XorBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1115 template <
typename RangeT>
1123 return ::llvm::StringLiteral(
"bool.xor");
1132 return {std::next(getOperation()->operand_begin(), valueRange.first),
1133 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1137 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1141 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1146 return getOperation()->getOpOperand(range.first);
1151 return getOperation()->getOpOperand(range.first);
1160 return {std::next(getOperation()->result_begin(), valueRange.first),
1161 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1165 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
1168 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1169 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1170 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1171 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1172 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1176 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1177 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1178 void print(::mlir::OpAsmPrinter &_odsPrinter);
1179 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1182 static ::mlir::ParseResult parseInferredOrParsedType(
1183 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1185 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1188 if (parser.parseCustomTypeWithFallback(type)) {
1189 return mlir::failure();
1195 parser.getBuilder().getIntegerType(1);
1197 return mlir::success();
1200 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1201 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1203 printer << (isFirst ?
" : " :
", ");
1204 printer.printStrippedAttrOrType(opType);
::llvm::LogicalResult verify(::mlir::Location loc)
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndBoolOpAdaptor(AndBoolOp op)
AndBoolOpGenericAdaptor(RangeT values, const AndBoolOpGenericAdaptorBase &base)
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndBoolOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::OpOperand & getLhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
AndBoolOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::IntegerType > getResult()
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
AssertOpAdaptor(AssertOp op)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
AssertOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
AssertOpGenericAdaptor(RangeT values, const AssertOpGenericAdaptorBase &base)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::StringAttr getMsgAttrName(::mlir::OperationName name)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::std::optional< ::llvm::StringRef > getMsg()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
AssertOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::StringAttr getMsgAttr()
static constexpr ::llvm::StringLiteral getOperationName()
void setMsg(::std::optional<::llvm::StringRef > attrValue)
void setMsgAttr(::mlir::StringAttr attr)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::Operation::result_range getODSResults(unsigned index)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::OpOperand & getConditionMutable()
::llvm::LogicalResult verifyInvariants()
::mlir::Attribute removeMsgAttr()
::mlir::StringAttr getMsgAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult verify(::mlir::Location loc)
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
RangeT getODSOperands(unsigned index)
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
CmpOpGenericAdaptor(RangeT values, const CmpOpGenericAdaptorBase &base)
CmpOpGenericAdaptor(RangeT values, LateInst op)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::felt::FeltType > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::TypedValue<::mlir::IntegerType > getResult()
::mlir::StringAttr getPredicateAttrName()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::boolean::FeltCmpPredicate getPredicate()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getRhsMutable()
void setPredicate(::llzk::boolean::FeltCmpPredicate attrValue)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::OpOperand & getLhsMutable()
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
CmpOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
FoldAdaptor::Properties Properties
void setPredicateAttr(::llzk::boolean::FeltCmpPredicateAttr attr)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::felt::FeltType > getRhs()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getPredicateAttrName(::mlir::OperationName name)
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NotBoolOpAdaptor(NotBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NotBoolOpGenericAdaptor(RangeT values, const NotBoolOpGenericAdaptorBase &base)
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
NotBoolOpGenericAdaptor(RangeT values, LateInst op)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getOperand()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
NotBoolOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpOperand & getOperandMutable()
::mlir::TypedValue<::mlir::IntegerType > getResult()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
OrBoolOpAdaptor(OrBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
OrBoolOpGenericAdaptor(RangeT values, const OrBoolOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
OrBoolOpGenericAdaptor(RangeT values, LateInst op)
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::mlir::Type > getLhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
OrBoolOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::mlir::IntegerType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
XorBoolOpAdaptor(XorBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
XorBoolOpGenericAdaptor(RangeT values, const XorBoolOpGenericAdaptorBase &base)
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
XorBoolOpGenericAdaptor(RangeT values, LateInst op)
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::mlir::OpOperand & getLhsMutable()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::IntegerType > getResult()
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getRhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getLhs()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
XorBoolOpGenericAdaptor< RangeT > GenericAdaptor
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
AndBoolOpGenericAdaptorBase(::mlir::Operation *op)
AndBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getMsgAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::std::optional< ::llvm::StringRef > getMsg()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
CmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::llzk::boolean::FeltCmpPredicate getPredicate()
const Properties & getProperties()
NotBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
NotBoolOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
OrBoolOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
OrBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
XorBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
XorBoolOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
static FeltType get(::mlir::MLIRContext *context, ::mlir::StringAttr fieldName)
bool operator==(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
void setMsg(const ::mlir::StringAttr &propValue)
bool operator==(const Properties &rhs) const
::llzk::boolean::FeltCmpPredicateAttr predicateTy
void setPredicate(const ::llzk::boolean::FeltCmpPredicateAttr &propValue)
bool operator!=(const Properties &rhs) const