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::WitnessGen, ::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 = {});
185 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);
186 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
187 void print(::mlir::OpAsmPrinter &_odsPrinter);
188 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
191 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
193 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
196 if (parser.parseCustomTypeWithFallback(type)) {
197 return mlir::failure();
203 parser.getBuilder().getIntegerType(1);
205 return mlir::success();
209 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
211 printer << (isFirst ?
" : " :
", ");
212 printer.printStrippedAttrOrType(opType);
234 auto &propStorage = this->msg;
235 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(propStorage);
237 void setMsg(const ::mlir::StringAttr &propValue) {
238 this->msg = propValue;
242 rhs.
msg == this->msg &&
246 return !(*
this == rhs);
274 auto attr = ::llvm::dyn_cast_or_null<::mlir::StringAttr>(
getProperties().msg);
278 ::std::optional< ::llvm::StringRef >
getMsg();
281template <
typename RangeT>
283 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
294 template <
typename LateInst = AssertOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AssertOp>>>
303 return {std::next(odsOperands.begin(), valueRange.first),
304 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
323 ::llvm::LogicalResult
verify(::mlir::Location loc);
325class 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> {
330 template <
typename RangeT>
335 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"msg")};
336 return ::llvm::ArrayRef(attrNames);
340 return getAttributeNameForIndex(0);
344 return getAttributeNameForIndex(
name, 0);
348 return ::llvm::StringLiteral(
"bool.assert");
357 return {std::next(getOperation()->operand_begin(), valueRange.first),
358 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
362 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSOperands(0).begin());
367 return getOperation()->getOpOperand(range.first);
376 return {std::next(getOperation()->result_begin(), valueRange.first),
377 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
380 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
386 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
387 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
390 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().msg);
393 ::std::optional< ::llvm::StringRef >
getMsg();
395 getProperties().msg = attr;
398 void setMsg(::std::optional<::llvm::StringRef> attrValue);
400 auto &attr = getProperties().msg;
405 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg);
406 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg);
407 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
410 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
411 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
412 void print(::mlir::OpAsmPrinter &_odsPrinter);
414 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
415 return getAttributeNameForIndex((*this)->getName(), index);
418 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
419 assert(index < 1 &&
"invalid attribute index");
421 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
422 "dependent dialect loading?");
423 return name.getAttributeNames()[index];
447 auto &propStorage = this->predicate;
448 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(propStorage);
450 void setPredicate(const ::llzk::boolean::FeltCmpPredicateAttr &propValue) {
451 this->predicate = propValue;
459 return !(*
this == rhs);
487 auto attr = ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(
getProperties().predicate);
494template <
typename RangeT>
496 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
507 template <
typename LateInst = CmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, CmpOp>>>
516 return {std::next(odsOperands.begin(), valueRange.first),
517 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
540 ::llvm::LogicalResult
verify(::mlir::Location loc);
542class 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> {
547 template <
typename RangeT>
552 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"predicate")};
553 return ::llvm::ArrayRef(attrNames);
557 return getAttributeNameForIndex(0);
561 return getAttributeNameForIndex(
name, 0);
565 return ::llvm::StringLiteral(
"bool.cmp");
574 return {std::next(getOperation()->operand_begin(), valueRange.first),
575 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
578 ::mlir::TypedValue<::llzk::felt::FeltType>
getLhs() {
579 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSOperands(0).begin());
582 ::mlir::TypedValue<::llzk::felt::FeltType>
getRhs() {
583 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSOperands(1).begin());
588 return getOperation()->getOpOperand(range.first);
593 return getOperation()->getOpOperand(range.first);
602 return {std::next(getOperation()->result_begin(), valueRange.first),
603 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
607 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
610 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
616 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
617 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
620 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(getProperties().predicate);
625 getProperties().predicate = attr;
629 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
630 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
631 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
632 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
634 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
635 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
636 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
639 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);
640 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
641 void print(::mlir::OpAsmPrinter &_odsPrinter);
642 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
644 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
645 return getAttributeNameForIndex((*this)->getName(), index);
648 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
649 assert(index < 1 &&
"invalid attribute index");
651 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
652 "dependent dialect loading?");
653 return name.getAttributeNames()[index];
693template <
typename RangeT>
695 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
698 NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
704 template <
typename LateInst = NotBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotBoolOp>>>
713 return {std::next(odsOperands.begin(), valueRange.first),
714 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
733 ::llvm::LogicalResult
verify(::mlir::Location loc);
735class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
740 template <
typename RangeT>
748 return ::llvm::StringLiteral(
"bool.not");
757 return {std::next(getOperation()->operand_begin(), valueRange.first),
758 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
762 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
767 return getOperation()->getOpOperand(range.first);
776 return {std::next(getOperation()->result_begin(), valueRange.first),
777 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
781 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
784 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
785 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
786 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
787 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
788 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
791 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);
792 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
793 void print(::mlir::OpAsmPrinter &_odsPrinter);
794 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
797 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
799 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
802 if (parser.parseCustomTypeWithFallback(type)) {
803 return mlir::failure();
809 parser.getBuilder().getIntegerType(1);
811 return mlir::success();
815 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
817 printer << (isFirst ?
" : " :
", ");
818 printer.printStrippedAttrOrType(opType);
856template <
typename RangeT>
858 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
861 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
863 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
867 template <
typename LateInst = OrBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrBoolOp>>>
876 return {std::next(odsOperands.begin(), valueRange.first),
877 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
900 ::llvm::LogicalResult
verify(::mlir::Location loc);
902class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
907 template <
typename RangeT>
915 return ::llvm::StringLiteral(
"bool.or");
924 return {std::next(getOperation()->operand_begin(), valueRange.first),
925 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
928 ::mlir::TypedValue<::mlir::Type>
getLhs() {
929 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
932 ::mlir::TypedValue<::mlir::Type>
getRhs() {
933 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
938 return getOperation()->getOpOperand(range.first);
943 return getOperation()->getOpOperand(range.first);
952 return {std::next(getOperation()->result_begin(), valueRange.first),
953 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
957 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
960 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
961 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
962 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
963 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
964 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
967 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);
968 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
969 void print(::mlir::OpAsmPrinter &_odsPrinter);
970 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
973 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
975 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
978 if (parser.parseCustomTypeWithFallback(type)) {
979 return mlir::failure();
985 parser.getBuilder().getIntegerType(1);
987 return mlir::success();
991 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
993 printer << (isFirst ?
" : " :
", ");
994 printer.printStrippedAttrOrType(opType);
1032template <
typename RangeT>
1034 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1037 XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1043 template <
typename LateInst = XorBoolOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XorBoolOp>>>
1052 return {std::next(odsOperands.begin(), valueRange.first),
1053 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1076 ::llvm::LogicalResult
verify(::mlir::Location loc);
1078class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1083 template <
typename RangeT>
1091 return ::llvm::StringLiteral(
"bool.xor");
1100 return {std::next(getOperation()->operand_begin(), valueRange.first),
1101 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1105 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1109 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1114 return getOperation()->getOpOperand(range.first);
1119 return getOperation()->getOpOperand(range.first);
1128 return {std::next(getOperation()->result_begin(), valueRange.first),
1129 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1133 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*
getODSResults(0).begin());
1136 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1137 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1138 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1139 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1140 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1143 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);
1144 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1145 void print(::mlir::OpAsmPrinter &_odsPrinter);
1146 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1149 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1151 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1154 if (parser.parseCustomTypeWithFallback(type)) {
1155 return mlir::failure();
1161 parser.getBuilder().getIntegerType(1);
1163 return mlir::success();
1167 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1169 printer << (isFirst ?
" : " :
", ");
1170 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)
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)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::llvm::LogicalResult verifyInvariants()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::OpOperand & getLhsMutable()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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)
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
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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::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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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::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 void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::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()
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