41static ::mlir::LogicalResult __mlir_ods_local_type_constraint_Ops0(
42 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
43 unsigned valueIndex) {
44 if (!((::llvm::isa<llzk::polymorphic::TypeVarType,FeltType>(type)))) {
45 return op->emitOpError(valueKind) <<
" #" << valueIndex
46 <<
" must be finite field element or type variable, but got " << type;
48 return ::mlir::success();
51static ::mlir::LogicalResult __mlir_ods_local_type_constraint_Ops1(
52 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
53 unsigned valueIndex) {
54 if (!((::llvm::isa<::llzk::felt::FeltType>(type)))) {
55 return op->emitOpError(valueKind) <<
" #" << valueIndex
56 <<
" must be finite field element, but got " << type;
58 return ::mlir::success();
61static ::mlir::LogicalResult __mlir_ods_local_attr_constraint_Ops0(
62 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
63 if (attr && !((::llvm::isa<::llzk::felt::FeltConstAttr>(attr))))
64 return emitError() <<
"attribute '" << attrName
65 <<
"' failed to satisfy constraint: finite field element";
66 return ::mlir::success();
68static ::mlir::LogicalResult __mlir_ods_local_attr_constraint_Ops0(
69 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
70 return __mlir_ods_local_attr_constraint_Ops0(attr, attrName, [op]() {
71 return op->emitOpError();
102 return ::mlir::success();
111 return {std::next(getOperation()->operand_begin(), valueRange.first),
112 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
125 return getOperation()->getOpOperand(range.first);
130 return getOperation()->getOpOperand(range.first);
139 return {std::next(getOperation()->result_begin(), valueRange.first),
140 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
144 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
147void AddFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
148 odsState.addOperands(lhs);
149 odsState.addOperands(rhs);
150 odsState.addTypes(result);
153void AddFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
154 odsState.addOperands(lhs);
155 odsState.addOperands(rhs);
157 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
159 odsState.location, odsState.operands,
160 odsState.attributes.getDictionary(odsState.getContext()),
161 odsState.getRawProperties(),
162 odsState.regions, inferredReturnTypes)))
163 odsState.addTypes(inferredReturnTypes);
165 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
168void AddFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
169 odsState.addOperands(lhs);
170 odsState.addOperands(rhs);
171 assert(resultTypes.size() == 1u &&
"mismatched number of results");
172 odsState.addTypes(resultTypes);
175void AddFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
176 assert(operands.size() == 2u &&
"mismatched number of parameters");
177 odsState.addOperands(operands);
178 odsState.addAttributes(attributes);
179 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
180 odsState.addTypes(resultTypes);
183void AddFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
184 assert(operands.size() == 2u &&
"mismatched number of parameters");
185 odsState.addOperands(operands);
186 odsState.addAttributes(attributes);
188 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
190 odsState.location, operands,
191 odsState.attributes.getDictionary(odsState.getContext()),
192 odsState.getRawProperties(),
193 odsState.regions, inferredReturnTypes))) {
194 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
195 odsState.addTypes(inferredReturnTypes);
197 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
203 unsigned index = 0; (void)index;
206 for (
auto v : valueGroup0) {
207 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
208 return ::mlir::failure();
212 for (
auto v : valueGroup1) {
213 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
214 return ::mlir::failure();
218 unsigned index = 0; (void)index;
221 for (
auto v : valueGroup0) {
222 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
223 return ::mlir::failure();
227 return emitOpError(
"failed to verify that result type matches with lhs type");
229 return emitOpError(
"failed to verify that result type matches with rhs type");
230 return ::mlir::success();
237::mlir::LogicalResult
AddFeltOp::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) {
238 inferredReturnTypes.resize(1);
239 ::mlir::Builder odsBuilder(context);
241 inferredReturnTypes[0] = odsInferredType0;
242 return ::mlir::success();
245::mlir::ParseResult
AddFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
246 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
247 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
248 (void)lhsOperandsLoc;
249 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
250 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
251 (void)rhsOperandsLoc;
252 ::mlir::Type lhsRawTypes[1];
253 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
254 ::mlir::Type rhsRawTypes[1];
255 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
257 lhsOperandsLoc = parser.getCurrentLocation();
258 if (parser.parseOperand(lhsRawOperands[0]))
259 return ::mlir::failure();
260 if (parser.parseComma())
261 return ::mlir::failure();
263 rhsOperandsLoc = parser.getCurrentLocation();
264 if (parser.parseOperand(rhsRawOperands[0]))
265 return ::mlir::failure();
268 if (odsResult) return ::mlir::failure();
272 if (odsResult) return ::mlir::failure();
275 auto loc = parser.getCurrentLocation();(void)loc;
276 if (parser.parseOptionalAttrDict(result.attributes))
277 return ::mlir::failure();
280 result.addTypes(odsBuildableType0);
281 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
282 return ::mlir::failure();
283 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
284 return ::mlir::failure();
285 return ::mlir::success();
296 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
297 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
300void AddFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
333 return ::mlir::success();
342 return {std::next(getOperation()->operand_begin(), valueRange.first),
343 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
356 return getOperation()->getOpOperand(range.first);
361 return getOperation()->getOpOperand(range.first);
370 return {std::next(getOperation()->result_begin(), valueRange.first),
371 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
375 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
378void AndFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
379 odsState.addOperands(lhs);
380 odsState.addOperands(rhs);
381 odsState.addTypes(result);
384void AndFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
385 odsState.addOperands(lhs);
386 odsState.addOperands(rhs);
388 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
390 odsState.location, odsState.operands,
391 odsState.attributes.getDictionary(odsState.getContext()),
392 odsState.getRawProperties(),
393 odsState.regions, inferredReturnTypes)))
394 odsState.addTypes(inferredReturnTypes);
396 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
399void AndFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
400 odsState.addOperands(lhs);
401 odsState.addOperands(rhs);
402 assert(resultTypes.size() == 1u &&
"mismatched number of results");
403 odsState.addTypes(resultTypes);
406void AndFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
407 assert(operands.size() == 2u &&
"mismatched number of parameters");
408 odsState.addOperands(operands);
409 odsState.addAttributes(attributes);
410 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
411 odsState.addTypes(resultTypes);
414void AndFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
415 assert(operands.size() == 2u &&
"mismatched number of parameters");
416 odsState.addOperands(operands);
417 odsState.addAttributes(attributes);
419 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
421 odsState.location, operands,
422 odsState.attributes.getDictionary(odsState.getContext()),
423 odsState.getRawProperties(),
424 odsState.regions, inferredReturnTypes))) {
425 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
426 odsState.addTypes(inferredReturnTypes);
428 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
434 unsigned index = 0; (void)index;
437 for (
auto v : valueGroup0) {
438 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
439 return ::mlir::failure();
443 for (
auto v : valueGroup1) {
444 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
445 return ::mlir::failure();
449 unsigned index = 0; (void)index;
452 for (
auto v : valueGroup0) {
453 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
454 return ::mlir::failure();
458 return emitOpError(
"failed to verify that result type matches with lhs type");
460 return emitOpError(
"failed to verify that result type matches with rhs type");
461 return ::mlir::success();
468::mlir::LogicalResult
AndFeltOp::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) {
469 inferredReturnTypes.resize(1);
470 ::mlir::Builder odsBuilder(context);
472 inferredReturnTypes[0] = odsInferredType0;
473 return ::mlir::success();
476::mlir::ParseResult
AndFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
477 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
478 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
479 (void)lhsOperandsLoc;
480 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
481 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
482 (void)rhsOperandsLoc;
483 ::mlir::Type lhsRawTypes[1];
484 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
485 ::mlir::Type rhsRawTypes[1];
486 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
488 lhsOperandsLoc = parser.getCurrentLocation();
489 if (parser.parseOperand(lhsRawOperands[0]))
490 return ::mlir::failure();
491 if (parser.parseComma())
492 return ::mlir::failure();
494 rhsOperandsLoc = parser.getCurrentLocation();
495 if (parser.parseOperand(rhsRawOperands[0]))
496 return ::mlir::failure();
499 if (odsResult) return ::mlir::failure();
503 if (odsResult) return ::mlir::failure();
506 auto loc = parser.getCurrentLocation();(void)loc;
507 if (parser.parseOptionalAttrDict(result.attributes))
508 return ::mlir::failure();
511 result.addTypes(odsBuildableType0);
512 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
513 return ::mlir::failure();
514 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
515 return ::mlir::failure();
516 return ::mlir::success();
527 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
528 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
531void AndFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
564 return ::mlir::success();
573 return {std::next(getOperation()->operand_begin(), valueRange.first),
574 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
587 return getOperation()->getOpOperand(range.first);
592 return getOperation()->getOpOperand(range.first);
601 return {std::next(getOperation()->result_begin(), valueRange.first),
602 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
606 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
609void DivFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
610 odsState.addOperands(lhs);
611 odsState.addOperands(rhs);
612 odsState.addTypes(result);
615void DivFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
616 odsState.addOperands(lhs);
617 odsState.addOperands(rhs);
619 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
621 odsState.location, odsState.operands,
622 odsState.attributes.getDictionary(odsState.getContext()),
623 odsState.getRawProperties(),
624 odsState.regions, inferredReturnTypes)))
625 odsState.addTypes(inferredReturnTypes);
627 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
630void DivFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
631 odsState.addOperands(lhs);
632 odsState.addOperands(rhs);
633 assert(resultTypes.size() == 1u &&
"mismatched number of results");
634 odsState.addTypes(resultTypes);
637void DivFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
638 assert(operands.size() == 2u &&
"mismatched number of parameters");
639 odsState.addOperands(operands);
640 odsState.addAttributes(attributes);
641 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
642 odsState.addTypes(resultTypes);
645void DivFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
646 assert(operands.size() == 2u &&
"mismatched number of parameters");
647 odsState.addOperands(operands);
648 odsState.addAttributes(attributes);
650 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
652 odsState.location, operands,
653 odsState.attributes.getDictionary(odsState.getContext()),
654 odsState.getRawProperties(),
655 odsState.regions, inferredReturnTypes))) {
656 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
657 odsState.addTypes(inferredReturnTypes);
659 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
665 unsigned index = 0; (void)index;
668 for (
auto v : valueGroup0) {
669 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
670 return ::mlir::failure();
674 for (
auto v : valueGroup1) {
675 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
676 return ::mlir::failure();
680 unsigned index = 0; (void)index;
683 for (
auto v : valueGroup0) {
684 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
685 return ::mlir::failure();
689 return emitOpError(
"failed to verify that result type matches with lhs type");
691 return emitOpError(
"failed to verify that result type matches with rhs type");
692 return ::mlir::success();
699::mlir::LogicalResult
DivFeltOp::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) {
700 inferredReturnTypes.resize(1);
701 ::mlir::Builder odsBuilder(context);
703 inferredReturnTypes[0] = odsInferredType0;
704 return ::mlir::success();
707::mlir::ParseResult
DivFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
708 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
709 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
710 (void)lhsOperandsLoc;
711 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
712 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
713 (void)rhsOperandsLoc;
714 ::mlir::Type lhsRawTypes[1];
715 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
716 ::mlir::Type rhsRawTypes[1];
717 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
719 lhsOperandsLoc = parser.getCurrentLocation();
720 if (parser.parseOperand(lhsRawOperands[0]))
721 return ::mlir::failure();
722 if (parser.parseComma())
723 return ::mlir::failure();
725 rhsOperandsLoc = parser.getCurrentLocation();
726 if (parser.parseOperand(rhsRawOperands[0]))
727 return ::mlir::failure();
730 if (odsResult) return ::mlir::failure();
734 if (odsResult) return ::mlir::failure();
737 auto loc = parser.getCurrentLocation();(void)loc;
738 if (parser.parseOptionalAttrDict(result.attributes))
739 return ::mlir::failure();
742 result.addTypes(odsBuildableType0);
743 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
744 return ::mlir::failure();
745 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
746 return ::mlir::failure();
747 return ::mlir::success();
758 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
759 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
762void DivFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
792 auto attr = ::llvm::cast<::llzk::felt::FeltConstAttr>(
getProperties().value);
798 return ::llvm::cast<::llzk::felt::FeltConstAttr>(attr);
806 if (!tblgen_value)
return emitError(loc,
"'felt.const' op ""requires attribute 'value'");
808 if (tblgen_value && !((::llvm::isa<::llzk::felt::FeltConstAttr>(tblgen_value))))
809 return emitError(loc,
"'felt.const' op ""attribute 'value' failed to satisfy constraint: finite field element");
810 return ::mlir::success();
819 return {std::next(getOperation()->operand_begin(), valueRange.first),
820 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
829 return {std::next(getOperation()->result_begin(), valueRange.first),
830 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
834 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
838 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
840 emitError() <<
"expected DictionaryAttr to set properties";
841 return ::mlir::failure();
845 auto &propStorage = prop.
value;
846 auto attr = dict.get(
"value");
849 emitError() <<
"expected key entry for value in DictionaryAttr to set "
851 return ::mlir::failure();
853 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
855 propStorage = convertedAttr;
857 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
858 return ::mlir::failure();
862 return ::mlir::success();
866 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
867 ::mlir::Builder odsBuilder{ctx};
870 const auto &propStorage = prop.
value;
872 attrs.push_back(odsBuilder.getNamedAttr(
"value",
877 return odsBuilder.getDictionaryAttr(attrs);
882 return llvm::hash_combine(
883 llvm::hash_value(prop.
value.getAsOpaquePointer()));
893 if (name ==
"value") {
894 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
900 if (prop.
value) attrs.append(
"value", prop.
value);
906 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops0(attr,
"value", emitError)))
907 return ::mlir::failure();
909 return ::mlir::success();
913 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
914 if (::mlir::failed(reader.readAttribute(prop.
value)))
915 return ::mlir::failure();
916 return ::mlir::success();
920 auto &prop = getProperties(); (void)prop;
921 writer.writeAttribute(prop.
value);
925 return ::llvm::cast<::llzk::felt::FeltConstAttr>(getProperties().value);
930 return ::llvm::cast<::llzk::felt::FeltConstAttr>(attr);
937void FeltConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value) {
938 odsState.getOrAddProperties<
Properties>().value = value;
939 odsState.addTypes(result);
942void FeltConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::felt::FeltConstAttr value) {
943 odsState.getOrAddProperties<
Properties>().value = value;
945 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
947 odsState.location, odsState.operands,
948 odsState.attributes.getDictionary(odsState.getContext()),
949 odsState.getRawProperties(),
950 odsState.regions, inferredReturnTypes)))
951 odsState.addTypes(inferredReturnTypes);
953 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
956void FeltConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::felt::FeltConstAttr value) {
957 odsState.getOrAddProperties<
Properties>().value = value;
958 assert(resultTypes.size() == 1u &&
"mismatched number of results");
959 odsState.addTypes(resultTypes);
962void FeltConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
963 assert(operands.size() == 0u &&
"mismatched number of parameters");
964 odsState.addOperands(operands);
965 odsState.addAttributes(attributes);
966 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
967 odsState.addTypes(resultTypes);
970void FeltConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
971 assert(operands.size() == 0u &&
"mismatched number of parameters");
972 odsState.addOperands(operands);
973 odsState.addAttributes(attributes);
975 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
977 odsState.location, operands,
978 odsState.attributes.getDictionary(odsState.getContext()),
979 odsState.getRawProperties(),
980 odsState.regions, inferredReturnTypes))) {
981 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
982 odsState.addTypes(inferredReturnTypes);
984 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
989 auto tblgen_value = getProperties().value; (void)tblgen_value;
990 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
992 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops0(*
this, tblgen_value,
"value")))
993 return ::mlir::failure();
995 unsigned index = 0; (void)index;
998 for (
auto v : valueGroup0) {
999 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1000 return ::mlir::failure();
1003 return ::mlir::success();
1010::mlir::LogicalResult
FeltConstantOp::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) {
1011 inferredReturnTypes.resize(1);
1012 ::mlir::Builder odsBuilder(context);
1014 inferredReturnTypes[0] = odsInferredType0;
1015 return ::mlir::success();
1019 ::llzk::felt::FeltConstAttr valueAttr;
1021 if (parser.parseCustomAttributeWithFallback(valueAttr, ::mlir::Type{})) {
1022 return ::mlir::failure();
1026 auto loc = parser.getCurrentLocation();(void)loc;
1027 if (parser.parseOptionalAttrDict(result.attributes))
1028 return ::mlir::failure();
1030 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1032 return ::mlir::failure();
1035 result.addTypes(odsBuildableType0);
1036 return ::mlir::success();
1042 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1043 elidedAttrs.push_back(
"value");
1044 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1080 return ::mlir::success();
1089 return {std::next(getOperation()->operand_begin(), valueRange.first),
1090 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1099 return {std::next(getOperation()->result_begin(), valueRange.first),
1100 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1104 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1107void FeltNonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result) {
1108 odsState.addTypes(result);
1112 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1114 odsState.location, odsState.operands,
1115 odsState.attributes.getDictionary(odsState.getContext()),
1116 odsState.getRawProperties(),
1117 odsState.regions, inferredReturnTypes)))
1118 odsState.addTypes(inferredReturnTypes);
1120 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1123void FeltNonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
1124 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1125 odsState.addTypes(resultTypes);
1128void FeltNonDetOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1129 assert(operands.size() == 0u &&
"mismatched number of parameters");
1130 odsState.addOperands(operands);
1131 odsState.addAttributes(attributes);
1132 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1133 odsState.addTypes(resultTypes);
1136void FeltNonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1137 assert(operands.size() == 0u &&
"mismatched number of parameters");
1138 odsState.addOperands(operands);
1139 odsState.addAttributes(attributes);
1141 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1143 odsState.location, operands,
1144 odsState.attributes.getDictionary(odsState.getContext()),
1145 odsState.getRawProperties(),
1146 odsState.regions, inferredReturnTypes))) {
1147 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1148 odsState.addTypes(inferredReturnTypes);
1150 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1156 unsigned index = 0; (void)index;
1159 for (
auto v : valueGroup0) {
1160 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1161 return ::mlir::failure();
1164 return ::mlir::success();
1171::mlir::LogicalResult
FeltNonDetOp::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) {
1172 inferredReturnTypes.resize(1);
1173 ::mlir::Builder odsBuilder(context);
1175 inferredReturnTypes[0] = odsInferredType0;
1176 return ::mlir::success();
1181 auto loc = parser.getCurrentLocation();(void)loc;
1182 if (parser.parseOptionalAttrDict(result.attributes))
1183 return ::mlir::failure();
1186 result.addTypes(odsBuildableType0);
1187 return ::mlir::success();
1191 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1192 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1228 return ::mlir::success();
1237 return {std::next(getOperation()->operand_begin(), valueRange.first),
1238 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1247 return getOperation()->getOpOperand(range.first);
1256 return {std::next(getOperation()->result_begin(), valueRange.first),
1257 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1261 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1264void InvFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand) {
1265 odsState.addOperands(operand);
1266 odsState.addTypes(result);
1269void InvFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand) {
1270 odsState.addOperands(operand);
1272 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1274 odsState.location, odsState.operands,
1275 odsState.attributes.getDictionary(odsState.getContext()),
1276 odsState.getRawProperties(),
1277 odsState.regions, inferredReturnTypes)))
1278 odsState.addTypes(inferredReturnTypes);
1280 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1283void InvFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand) {
1284 odsState.addOperands(operand);
1285 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1286 odsState.addTypes(resultTypes);
1289void InvFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1290 assert(operands.size() == 1u &&
"mismatched number of parameters");
1291 odsState.addOperands(operands);
1292 odsState.addAttributes(attributes);
1293 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1294 odsState.addTypes(resultTypes);
1297void InvFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1298 assert(operands.size() == 1u &&
"mismatched number of parameters");
1299 odsState.addOperands(operands);
1300 odsState.addAttributes(attributes);
1302 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1304 odsState.location, operands,
1305 odsState.attributes.getDictionary(odsState.getContext()),
1306 odsState.getRawProperties(),
1307 odsState.regions, inferredReturnTypes))) {
1308 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1309 odsState.addTypes(inferredReturnTypes);
1311 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1317 unsigned index = 0; (void)index;
1320 for (
auto v : valueGroup0) {
1321 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1322 return ::mlir::failure();
1326 unsigned index = 0; (void)index;
1329 for (
auto v : valueGroup0) {
1330 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1331 return ::mlir::failure();
1335 return emitOpError(
"failed to verify that result type matches with operand type");
1336 return ::mlir::success();
1343::mlir::LogicalResult
InvFeltOp::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) {
1344 inferredReturnTypes.resize(1);
1345 ::mlir::Builder odsBuilder(context);
1347 inferredReturnTypes[0] = odsInferredType0;
1348 return ::mlir::success();
1351::mlir::ParseResult
InvFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1352 ::mlir::OpAsmParser::UnresolvedOperand operandRawOperands[1];
1353 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> operandOperands(operandRawOperands); ::llvm::SMLoc operandOperandsLoc;
1354 (void)operandOperandsLoc;
1355 ::mlir::Type operandRawTypes[1];
1356 ::llvm::ArrayRef<::mlir::Type> operandTypes(operandRawTypes);
1358 operandOperandsLoc = parser.getCurrentLocation();
1359 if (parser.parseOperand(operandRawOperands[0]))
1360 return ::mlir::failure();
1363 if (odsResult) return ::mlir::failure();
1366 auto loc = parser.getCurrentLocation();(void)loc;
1367 if (parser.parseOptionalAttrDict(result.attributes))
1368 return ::mlir::failure();
1371 result.addTypes(odsBuildableType0);
1372 if (parser.resolveOperands(operandOperands, operandTypes, operandOperandsLoc, result.operands))
1373 return ::mlir::failure();
1374 return ::mlir::success();
1381 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1382 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1385void InvFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1418 return ::mlir::success();
1427 return {std::next(getOperation()->operand_begin(), valueRange.first),
1428 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1441 return getOperation()->getOpOperand(range.first);
1446 return getOperation()->getOpOperand(range.first);
1455 return {std::next(getOperation()->result_begin(), valueRange.first),
1456 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1460 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1463void ModFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1464 odsState.addOperands(lhs);
1465 odsState.addOperands(rhs);
1466 odsState.addTypes(result);
1469void ModFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1470 odsState.addOperands(lhs);
1471 odsState.addOperands(rhs);
1473 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1475 odsState.location, odsState.operands,
1476 odsState.attributes.getDictionary(odsState.getContext()),
1477 odsState.getRawProperties(),
1478 odsState.regions, inferredReturnTypes)))
1479 odsState.addTypes(inferredReturnTypes);
1481 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1484void ModFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1485 odsState.addOperands(lhs);
1486 odsState.addOperands(rhs);
1487 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1488 odsState.addTypes(resultTypes);
1491void ModFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1492 assert(operands.size() == 2u &&
"mismatched number of parameters");
1493 odsState.addOperands(operands);
1494 odsState.addAttributes(attributes);
1495 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1496 odsState.addTypes(resultTypes);
1499void ModFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1500 assert(operands.size() == 2u &&
"mismatched number of parameters");
1501 odsState.addOperands(operands);
1502 odsState.addAttributes(attributes);
1504 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1506 odsState.location, operands,
1507 odsState.attributes.getDictionary(odsState.getContext()),
1508 odsState.getRawProperties(),
1509 odsState.regions, inferredReturnTypes))) {
1510 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1511 odsState.addTypes(inferredReturnTypes);
1513 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1519 unsigned index = 0; (void)index;
1522 for (
auto v : valueGroup0) {
1523 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1524 return ::mlir::failure();
1528 for (
auto v : valueGroup1) {
1529 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1530 return ::mlir::failure();
1534 unsigned index = 0; (void)index;
1537 for (
auto v : valueGroup0) {
1538 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1539 return ::mlir::failure();
1543 return emitOpError(
"failed to verify that result type matches with lhs type");
1545 return emitOpError(
"failed to verify that result type matches with rhs type");
1546 return ::mlir::success();
1553::mlir::LogicalResult
ModFeltOp::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) {
1554 inferredReturnTypes.resize(1);
1555 ::mlir::Builder odsBuilder(context);
1557 inferredReturnTypes[0] = odsInferredType0;
1558 return ::mlir::success();
1561::mlir::ParseResult
ModFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1562 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
1563 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
1564 (void)lhsOperandsLoc;
1565 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
1566 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
1567 (void)rhsOperandsLoc;
1568 ::mlir::Type lhsRawTypes[1];
1569 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
1570 ::mlir::Type rhsRawTypes[1];
1571 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
1573 lhsOperandsLoc = parser.getCurrentLocation();
1574 if (parser.parseOperand(lhsRawOperands[0]))
1575 return ::mlir::failure();
1576 if (parser.parseComma())
1577 return ::mlir::failure();
1579 rhsOperandsLoc = parser.getCurrentLocation();
1580 if (parser.parseOperand(rhsRawOperands[0]))
1581 return ::mlir::failure();
1584 if (odsResult) return ::mlir::failure();
1588 if (odsResult) return ::mlir::failure();
1591 auto loc = parser.getCurrentLocation();(void)loc;
1592 if (parser.parseOptionalAttrDict(result.attributes))
1593 return ::mlir::failure();
1596 result.addTypes(odsBuildableType0);
1597 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1598 return ::mlir::failure();
1599 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1600 return ::mlir::failure();
1601 return ::mlir::success();
1612 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1613 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1616void ModFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1649 return ::mlir::success();
1658 return {std::next(getOperation()->operand_begin(), valueRange.first),
1659 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1672 return getOperation()->getOpOperand(range.first);
1677 return getOperation()->getOpOperand(range.first);
1686 return {std::next(getOperation()->result_begin(), valueRange.first),
1687 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1691 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1694void MulFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1695 odsState.addOperands(lhs);
1696 odsState.addOperands(rhs);
1697 odsState.addTypes(result);
1700void MulFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1701 odsState.addOperands(lhs);
1702 odsState.addOperands(rhs);
1704 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1706 odsState.location, odsState.operands,
1707 odsState.attributes.getDictionary(odsState.getContext()),
1708 odsState.getRawProperties(),
1709 odsState.regions, inferredReturnTypes)))
1710 odsState.addTypes(inferredReturnTypes);
1712 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1715void MulFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1716 odsState.addOperands(lhs);
1717 odsState.addOperands(rhs);
1718 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1719 odsState.addTypes(resultTypes);
1722void MulFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1723 assert(operands.size() == 2u &&
"mismatched number of parameters");
1724 odsState.addOperands(operands);
1725 odsState.addAttributes(attributes);
1726 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1727 odsState.addTypes(resultTypes);
1730void MulFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1731 assert(operands.size() == 2u &&
"mismatched number of parameters");
1732 odsState.addOperands(operands);
1733 odsState.addAttributes(attributes);
1735 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1737 odsState.location, operands,
1738 odsState.attributes.getDictionary(odsState.getContext()),
1739 odsState.getRawProperties(),
1740 odsState.regions, inferredReturnTypes))) {
1741 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1742 odsState.addTypes(inferredReturnTypes);
1744 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1750 unsigned index = 0; (void)index;
1753 for (
auto v : valueGroup0) {
1754 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1755 return ::mlir::failure();
1759 for (
auto v : valueGroup1) {
1760 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1761 return ::mlir::failure();
1765 unsigned index = 0; (void)index;
1768 for (
auto v : valueGroup0) {
1769 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1770 return ::mlir::failure();
1774 return emitOpError(
"failed to verify that result type matches with lhs type");
1776 return emitOpError(
"failed to verify that result type matches with rhs type");
1777 return ::mlir::success();
1784::mlir::LogicalResult
MulFeltOp::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) {
1785 inferredReturnTypes.resize(1);
1786 ::mlir::Builder odsBuilder(context);
1788 inferredReturnTypes[0] = odsInferredType0;
1789 return ::mlir::success();
1792::mlir::ParseResult
MulFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1793 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
1794 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
1795 (void)lhsOperandsLoc;
1796 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
1797 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
1798 (void)rhsOperandsLoc;
1799 ::mlir::Type lhsRawTypes[1];
1800 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
1801 ::mlir::Type rhsRawTypes[1];
1802 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
1804 lhsOperandsLoc = parser.getCurrentLocation();
1805 if (parser.parseOperand(lhsRawOperands[0]))
1806 return ::mlir::failure();
1807 if (parser.parseComma())
1808 return ::mlir::failure();
1810 rhsOperandsLoc = parser.getCurrentLocation();
1811 if (parser.parseOperand(rhsRawOperands[0]))
1812 return ::mlir::failure();
1815 if (odsResult) return ::mlir::failure();
1819 if (odsResult) return ::mlir::failure();
1822 auto loc = parser.getCurrentLocation();(void)loc;
1823 if (parser.parseOptionalAttrDict(result.attributes))
1824 return ::mlir::failure();
1827 result.addTypes(odsBuildableType0);
1828 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1829 return ::mlir::failure();
1830 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1831 return ::mlir::failure();
1832 return ::mlir::success();
1843 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1844 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1847void MulFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1880 return ::mlir::success();
1889 return {std::next(getOperation()->operand_begin(), valueRange.first),
1890 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1899 return getOperation()->getOpOperand(range.first);
1908 return {std::next(getOperation()->result_begin(), valueRange.first),
1909 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1913 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1916void NegFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand) {
1917 odsState.addOperands(operand);
1918 odsState.addTypes(result);
1921void NegFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand) {
1922 odsState.addOperands(operand);
1924 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1926 odsState.location, odsState.operands,
1927 odsState.attributes.getDictionary(odsState.getContext()),
1928 odsState.getRawProperties(),
1929 odsState.regions, inferredReturnTypes)))
1930 odsState.addTypes(inferredReturnTypes);
1932 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1935void NegFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand) {
1936 odsState.addOperands(operand);
1937 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1938 odsState.addTypes(resultTypes);
1941void NegFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1942 assert(operands.size() == 1u &&
"mismatched number of parameters");
1943 odsState.addOperands(operands);
1944 odsState.addAttributes(attributes);
1945 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1946 odsState.addTypes(resultTypes);
1949void NegFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1950 assert(operands.size() == 1u &&
"mismatched number of parameters");
1951 odsState.addOperands(operands);
1952 odsState.addAttributes(attributes);
1954 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1956 odsState.location, operands,
1957 odsState.attributes.getDictionary(odsState.getContext()),
1958 odsState.getRawProperties(),
1959 odsState.regions, inferredReturnTypes))) {
1960 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1961 odsState.addTypes(inferredReturnTypes);
1963 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1969 unsigned index = 0; (void)index;
1972 for (
auto v : valueGroup0) {
1973 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
1974 return ::mlir::failure();
1978 unsigned index = 0; (void)index;
1981 for (
auto v : valueGroup0) {
1982 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
1983 return ::mlir::failure();
1987 return emitOpError(
"failed to verify that result type matches with operand type");
1988 return ::mlir::success();
1995::mlir::LogicalResult
NegFeltOp::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) {
1996 inferredReturnTypes.resize(1);
1997 ::mlir::Builder odsBuilder(context);
1999 inferredReturnTypes[0] = odsInferredType0;
2000 return ::mlir::success();
2003::mlir::ParseResult
NegFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2004 ::mlir::OpAsmParser::UnresolvedOperand operandRawOperands[1];
2005 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> operandOperands(operandRawOperands); ::llvm::SMLoc operandOperandsLoc;
2006 (void)operandOperandsLoc;
2007 ::mlir::Type operandRawTypes[1];
2008 ::llvm::ArrayRef<::mlir::Type> operandTypes(operandRawTypes);
2010 operandOperandsLoc = parser.getCurrentLocation();
2011 if (parser.parseOperand(operandRawOperands[0]))
2012 return ::mlir::failure();
2015 if (odsResult) return ::mlir::failure();
2018 auto loc = parser.getCurrentLocation();(void)loc;
2019 if (parser.parseOptionalAttrDict(result.attributes))
2020 return ::mlir::failure();
2023 result.addTypes(odsBuildableType0);
2024 if (parser.resolveOperands(operandOperands, operandTypes, operandOperandsLoc, result.operands))
2025 return ::mlir::failure();
2026 return ::mlir::success();
2033 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2034 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2037void NegFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2070 return ::mlir::success();
2079 return {std::next(getOperation()->operand_begin(), valueRange.first),
2080 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2089 return getOperation()->getOpOperand(range.first);
2098 return {std::next(getOperation()->result_begin(), valueRange.first),
2099 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2103 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2106void NotFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand) {
2107 odsState.addOperands(operand);
2108 odsState.addTypes(result);
2111void NotFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand) {
2112 odsState.addOperands(operand);
2114 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2116 odsState.location, odsState.operands,
2117 odsState.attributes.getDictionary(odsState.getContext()),
2118 odsState.getRawProperties(),
2119 odsState.regions, inferredReturnTypes)))
2120 odsState.addTypes(inferredReturnTypes);
2122 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2125void NotFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand) {
2126 odsState.addOperands(operand);
2127 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2128 odsState.addTypes(resultTypes);
2131void NotFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2132 assert(operands.size() == 1u &&
"mismatched number of parameters");
2133 odsState.addOperands(operands);
2134 odsState.addAttributes(attributes);
2135 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2136 odsState.addTypes(resultTypes);
2139void NotFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2140 assert(operands.size() == 1u &&
"mismatched number of parameters");
2141 odsState.addOperands(operands);
2142 odsState.addAttributes(attributes);
2144 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2146 odsState.location, operands,
2147 odsState.attributes.getDictionary(odsState.getContext()),
2148 odsState.getRawProperties(),
2149 odsState.regions, inferredReturnTypes))) {
2150 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2151 odsState.addTypes(inferredReturnTypes);
2153 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2159 unsigned index = 0; (void)index;
2162 for (
auto v : valueGroup0) {
2163 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2164 return ::mlir::failure();
2168 unsigned index = 0; (void)index;
2171 for (
auto v : valueGroup0) {
2172 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
2173 return ::mlir::failure();
2177 return emitOpError(
"failed to verify that result type matches with operand type");
2178 return ::mlir::success();
2185::mlir::LogicalResult
NotFeltOp::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) {
2186 inferredReturnTypes.resize(1);
2187 ::mlir::Builder odsBuilder(context);
2189 inferredReturnTypes[0] = odsInferredType0;
2190 return ::mlir::success();
2193::mlir::ParseResult
NotFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2194 ::mlir::OpAsmParser::UnresolvedOperand operandRawOperands[1];
2195 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> operandOperands(operandRawOperands); ::llvm::SMLoc operandOperandsLoc;
2196 (void)operandOperandsLoc;
2197 ::mlir::Type operandRawTypes[1];
2198 ::llvm::ArrayRef<::mlir::Type> operandTypes(operandRawTypes);
2200 operandOperandsLoc = parser.getCurrentLocation();
2201 if (parser.parseOperand(operandRawOperands[0]))
2202 return ::mlir::failure();
2205 if (odsResult) return ::mlir::failure();
2208 auto loc = parser.getCurrentLocation();(void)loc;
2209 if (parser.parseOptionalAttrDict(result.attributes))
2210 return ::mlir::failure();
2213 result.addTypes(odsBuildableType0);
2214 if (parser.resolveOperands(operandOperands, operandTypes, operandOperandsLoc, result.operands))
2215 return ::mlir::failure();
2216 return ::mlir::success();
2223 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2224 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2227void NotFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2260 return ::mlir::success();
2269 return {std::next(getOperation()->operand_begin(), valueRange.first),
2270 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2283 return getOperation()->getOpOperand(range.first);
2288 return getOperation()->getOpOperand(range.first);
2297 return {std::next(getOperation()->result_begin(), valueRange.first),
2298 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2302 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2305void OrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2306 odsState.addOperands(lhs);
2307 odsState.addOperands(rhs);
2308 odsState.addTypes(result);
2311void OrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2312 odsState.addOperands(lhs);
2313 odsState.addOperands(rhs);
2315 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2317 odsState.location, odsState.operands,
2318 odsState.attributes.getDictionary(odsState.getContext()),
2319 odsState.getRawProperties(),
2320 odsState.regions, inferredReturnTypes)))
2321 odsState.addTypes(inferredReturnTypes);
2323 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2326void OrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2327 odsState.addOperands(lhs);
2328 odsState.addOperands(rhs);
2329 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2330 odsState.addTypes(resultTypes);
2333void OrFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2334 assert(operands.size() == 2u &&
"mismatched number of parameters");
2335 odsState.addOperands(operands);
2336 odsState.addAttributes(attributes);
2337 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2338 odsState.addTypes(resultTypes);
2341void OrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2342 assert(operands.size() == 2u &&
"mismatched number of parameters");
2343 odsState.addOperands(operands);
2344 odsState.addAttributes(attributes);
2346 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2348 odsState.location, operands,
2349 odsState.attributes.getDictionary(odsState.getContext()),
2350 odsState.getRawProperties(),
2351 odsState.regions, inferredReturnTypes))) {
2352 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2353 odsState.addTypes(inferredReturnTypes);
2355 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2361 unsigned index = 0; (void)index;
2364 for (
auto v : valueGroup0) {
2365 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2366 return ::mlir::failure();
2370 for (
auto v : valueGroup1) {
2371 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2372 return ::mlir::failure();
2376 unsigned index = 0; (void)index;
2379 for (
auto v : valueGroup0) {
2380 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
2381 return ::mlir::failure();
2385 return emitOpError(
"failed to verify that result type matches with lhs type");
2387 return emitOpError(
"failed to verify that result type matches with rhs type");
2388 return ::mlir::success();
2395::mlir::LogicalResult
OrFeltOp::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) {
2396 inferredReturnTypes.resize(1);
2397 ::mlir::Builder odsBuilder(context);
2399 inferredReturnTypes[0] = odsInferredType0;
2400 return ::mlir::success();
2403::mlir::ParseResult
OrFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2404 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
2405 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
2406 (void)lhsOperandsLoc;
2407 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
2408 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
2409 (void)rhsOperandsLoc;
2410 ::mlir::Type lhsRawTypes[1];
2411 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
2412 ::mlir::Type rhsRawTypes[1];
2413 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
2415 lhsOperandsLoc = parser.getCurrentLocation();
2416 if (parser.parseOperand(lhsRawOperands[0]))
2417 return ::mlir::failure();
2418 if (parser.parseComma())
2419 return ::mlir::failure();
2421 rhsOperandsLoc = parser.getCurrentLocation();
2422 if (parser.parseOperand(rhsRawOperands[0]))
2423 return ::mlir::failure();
2426 if (odsResult) return ::mlir::failure();
2430 if (odsResult) return ::mlir::failure();
2433 auto loc = parser.getCurrentLocation();(void)loc;
2434 if (parser.parseOptionalAttrDict(result.attributes))
2435 return ::mlir::failure();
2438 result.addTypes(odsBuildableType0);
2439 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2440 return ::mlir::failure();
2441 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
2442 return ::mlir::failure();
2443 return ::mlir::success();
2454 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2455 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2458void OrFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2491 return ::mlir::success();
2500 return {std::next(getOperation()->operand_begin(), valueRange.first),
2501 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2514 return getOperation()->getOpOperand(range.first);
2519 return getOperation()->getOpOperand(range.first);
2528 return {std::next(getOperation()->result_begin(), valueRange.first),
2529 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2533 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2536void ShlFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2537 odsState.addOperands(lhs);
2538 odsState.addOperands(rhs);
2539 odsState.addTypes(result);
2542void ShlFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2543 odsState.addOperands(lhs);
2544 odsState.addOperands(rhs);
2546 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2548 odsState.location, odsState.operands,
2549 odsState.attributes.getDictionary(odsState.getContext()),
2550 odsState.getRawProperties(),
2551 odsState.regions, inferredReturnTypes)))
2552 odsState.addTypes(inferredReturnTypes);
2554 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2557void ShlFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2558 odsState.addOperands(lhs);
2559 odsState.addOperands(rhs);
2560 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2561 odsState.addTypes(resultTypes);
2564void ShlFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2565 assert(operands.size() == 2u &&
"mismatched number of parameters");
2566 odsState.addOperands(operands);
2567 odsState.addAttributes(attributes);
2568 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2569 odsState.addTypes(resultTypes);
2572void ShlFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2573 assert(operands.size() == 2u &&
"mismatched number of parameters");
2574 odsState.addOperands(operands);
2575 odsState.addAttributes(attributes);
2577 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2579 odsState.location, operands,
2580 odsState.attributes.getDictionary(odsState.getContext()),
2581 odsState.getRawProperties(),
2582 odsState.regions, inferredReturnTypes))) {
2583 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2584 odsState.addTypes(inferredReturnTypes);
2586 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2592 unsigned index = 0; (void)index;
2595 for (
auto v : valueGroup0) {
2596 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2597 return ::mlir::failure();
2601 for (
auto v : valueGroup1) {
2602 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2603 return ::mlir::failure();
2607 unsigned index = 0; (void)index;
2610 for (
auto v : valueGroup0) {
2611 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
2612 return ::mlir::failure();
2616 return emitOpError(
"failed to verify that result type matches with lhs type");
2618 return emitOpError(
"failed to verify that result type matches with rhs type");
2619 return ::mlir::success();
2626::mlir::LogicalResult
ShlFeltOp::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) {
2627 inferredReturnTypes.resize(1);
2628 ::mlir::Builder odsBuilder(context);
2630 inferredReturnTypes[0] = odsInferredType0;
2631 return ::mlir::success();
2634::mlir::ParseResult
ShlFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2635 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
2636 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
2637 (void)lhsOperandsLoc;
2638 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
2639 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
2640 (void)rhsOperandsLoc;
2641 ::mlir::Type lhsRawTypes[1];
2642 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
2643 ::mlir::Type rhsRawTypes[1];
2644 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
2646 lhsOperandsLoc = parser.getCurrentLocation();
2647 if (parser.parseOperand(lhsRawOperands[0]))
2648 return ::mlir::failure();
2649 if (parser.parseComma())
2650 return ::mlir::failure();
2652 rhsOperandsLoc = parser.getCurrentLocation();
2653 if (parser.parseOperand(rhsRawOperands[0]))
2654 return ::mlir::failure();
2657 if (odsResult) return ::mlir::failure();
2661 if (odsResult) return ::mlir::failure();
2664 auto loc = parser.getCurrentLocation();(void)loc;
2665 if (parser.parseOptionalAttrDict(result.attributes))
2666 return ::mlir::failure();
2669 result.addTypes(odsBuildableType0);
2670 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2671 return ::mlir::failure();
2672 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
2673 return ::mlir::failure();
2674 return ::mlir::success();
2685 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2686 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2689void ShlFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2722 return ::mlir::success();
2731 return {std::next(getOperation()->operand_begin(), valueRange.first),
2732 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2745 return getOperation()->getOpOperand(range.first);
2750 return getOperation()->getOpOperand(range.first);
2759 return {std::next(getOperation()->result_begin(), valueRange.first),
2760 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2764 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2767void ShrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2768 odsState.addOperands(lhs);
2769 odsState.addOperands(rhs);
2770 odsState.addTypes(result);
2773void ShrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2774 odsState.addOperands(lhs);
2775 odsState.addOperands(rhs);
2777 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2779 odsState.location, odsState.operands,
2780 odsState.attributes.getDictionary(odsState.getContext()),
2781 odsState.getRawProperties(),
2782 odsState.regions, inferredReturnTypes)))
2783 odsState.addTypes(inferredReturnTypes);
2785 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2788void ShrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2789 odsState.addOperands(lhs);
2790 odsState.addOperands(rhs);
2791 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2792 odsState.addTypes(resultTypes);
2795void ShrFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2796 assert(operands.size() == 2u &&
"mismatched number of parameters");
2797 odsState.addOperands(operands);
2798 odsState.addAttributes(attributes);
2799 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2800 odsState.addTypes(resultTypes);
2803void ShrFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2804 assert(operands.size() == 2u &&
"mismatched number of parameters");
2805 odsState.addOperands(operands);
2806 odsState.addAttributes(attributes);
2808 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2810 odsState.location, operands,
2811 odsState.attributes.getDictionary(odsState.getContext()),
2812 odsState.getRawProperties(),
2813 odsState.regions, inferredReturnTypes))) {
2814 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2815 odsState.addTypes(inferredReturnTypes);
2817 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2823 unsigned index = 0; (void)index;
2826 for (
auto v : valueGroup0) {
2827 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2828 return ::mlir::failure();
2832 for (
auto v : valueGroup1) {
2833 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
2834 return ::mlir::failure();
2838 unsigned index = 0; (void)index;
2841 for (
auto v : valueGroup0) {
2842 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
2843 return ::mlir::failure();
2847 return emitOpError(
"failed to verify that result type matches with lhs type");
2849 return emitOpError(
"failed to verify that result type matches with rhs type");
2850 return ::mlir::success();
2857::mlir::LogicalResult
ShrFeltOp::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) {
2858 inferredReturnTypes.resize(1);
2859 ::mlir::Builder odsBuilder(context);
2861 inferredReturnTypes[0] = odsInferredType0;
2862 return ::mlir::success();
2865::mlir::ParseResult
ShrFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2866 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
2867 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
2868 (void)lhsOperandsLoc;
2869 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
2870 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
2871 (void)rhsOperandsLoc;
2872 ::mlir::Type lhsRawTypes[1];
2873 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
2874 ::mlir::Type rhsRawTypes[1];
2875 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
2877 lhsOperandsLoc = parser.getCurrentLocation();
2878 if (parser.parseOperand(lhsRawOperands[0]))
2879 return ::mlir::failure();
2880 if (parser.parseComma())
2881 return ::mlir::failure();
2883 rhsOperandsLoc = parser.getCurrentLocation();
2884 if (parser.parseOperand(rhsRawOperands[0]))
2885 return ::mlir::failure();
2888 if (odsResult) return ::mlir::failure();
2892 if (odsResult) return ::mlir::failure();
2895 auto loc = parser.getCurrentLocation();(void)loc;
2896 if (parser.parseOptionalAttrDict(result.attributes))
2897 return ::mlir::failure();
2900 result.addTypes(odsBuildableType0);
2901 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2902 return ::mlir::failure();
2903 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
2904 return ::mlir::failure();
2905 return ::mlir::success();
2916 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2917 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2920void ShrFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2953 return ::mlir::success();
2962 return {std::next(getOperation()->operand_begin(), valueRange.first),
2963 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2976 return getOperation()->getOpOperand(range.first);
2981 return getOperation()->getOpOperand(range.first);
2990 return {std::next(getOperation()->result_begin(), valueRange.first),
2991 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2995 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2998void SubFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2999 odsState.addOperands(lhs);
3000 odsState.addOperands(rhs);
3001 odsState.addTypes(result);
3004void SubFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3005 odsState.addOperands(lhs);
3006 odsState.addOperands(rhs);
3008 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3010 odsState.location, odsState.operands,
3011 odsState.attributes.getDictionary(odsState.getContext()),
3012 odsState.getRawProperties(),
3013 odsState.regions, inferredReturnTypes)))
3014 odsState.addTypes(inferredReturnTypes);
3016 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3019void SubFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3020 odsState.addOperands(lhs);
3021 odsState.addOperands(rhs);
3022 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3023 odsState.addTypes(resultTypes);
3026void SubFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3027 assert(operands.size() == 2u &&
"mismatched number of parameters");
3028 odsState.addOperands(operands);
3029 odsState.addAttributes(attributes);
3030 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3031 odsState.addTypes(resultTypes);
3034void SubFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3035 assert(operands.size() == 2u &&
"mismatched number of parameters");
3036 odsState.addOperands(operands);
3037 odsState.addAttributes(attributes);
3039 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3041 odsState.location, operands,
3042 odsState.attributes.getDictionary(odsState.getContext()),
3043 odsState.getRawProperties(),
3044 odsState.regions, inferredReturnTypes))) {
3045 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3046 odsState.addTypes(inferredReturnTypes);
3048 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3054 unsigned index = 0; (void)index;
3057 for (
auto v : valueGroup0) {
3058 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
3059 return ::mlir::failure();
3063 for (
auto v : valueGroup1) {
3064 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
3065 return ::mlir::failure();
3069 unsigned index = 0; (void)index;
3072 for (
auto v : valueGroup0) {
3073 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
3074 return ::mlir::failure();
3078 return emitOpError(
"failed to verify that result type matches with lhs type");
3080 return emitOpError(
"failed to verify that result type matches with rhs type");
3081 return ::mlir::success();
3088::mlir::LogicalResult
SubFeltOp::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) {
3089 inferredReturnTypes.resize(1);
3090 ::mlir::Builder odsBuilder(context);
3092 inferredReturnTypes[0] = odsInferredType0;
3093 return ::mlir::success();
3096::mlir::ParseResult
SubFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3097 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
3098 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
3099 (void)lhsOperandsLoc;
3100 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
3101 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
3102 (void)rhsOperandsLoc;
3103 ::mlir::Type lhsRawTypes[1];
3104 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
3105 ::mlir::Type rhsRawTypes[1];
3106 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
3108 lhsOperandsLoc = parser.getCurrentLocation();
3109 if (parser.parseOperand(lhsRawOperands[0]))
3110 return ::mlir::failure();
3111 if (parser.parseComma())
3112 return ::mlir::failure();
3114 rhsOperandsLoc = parser.getCurrentLocation();
3115 if (parser.parseOperand(rhsRawOperands[0]))
3116 return ::mlir::failure();
3119 if (odsResult) return ::mlir::failure();
3123 if (odsResult) return ::mlir::failure();
3126 auto loc = parser.getCurrentLocation();(void)loc;
3127 if (parser.parseOptionalAttrDict(result.attributes))
3128 return ::mlir::failure();
3131 result.addTypes(odsBuildableType0);
3132 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
3133 return ::mlir::failure();
3134 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
3135 return ::mlir::failure();
3136 return ::mlir::success();
3147 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3148 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3151void SubFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3184 return ::mlir::success();
3193 return {std::next(getOperation()->operand_begin(), valueRange.first),
3194 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3207 return getOperation()->getOpOperand(range.first);
3212 return getOperation()->getOpOperand(range.first);
3221 return {std::next(getOperation()->result_begin(), valueRange.first),
3222 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3226 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
3229void XorFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3230 odsState.addOperands(lhs);
3231 odsState.addOperands(rhs);
3232 odsState.addTypes(result);
3235void XorFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3236 odsState.addOperands(lhs);
3237 odsState.addOperands(rhs);
3239 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3241 odsState.location, odsState.operands,
3242 odsState.attributes.getDictionary(odsState.getContext()),
3243 odsState.getRawProperties(),
3244 odsState.regions, inferredReturnTypes)))
3245 odsState.addTypes(inferredReturnTypes);
3247 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3250void XorFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3251 odsState.addOperands(lhs);
3252 odsState.addOperands(rhs);
3253 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3254 odsState.addTypes(resultTypes);
3257void XorFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3258 assert(operands.size() == 2u &&
"mismatched number of parameters");
3259 odsState.addOperands(operands);
3260 odsState.addAttributes(attributes);
3261 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3262 odsState.addTypes(resultTypes);
3265void XorFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3266 assert(operands.size() == 2u &&
"mismatched number of parameters");
3267 odsState.addOperands(operands);
3268 odsState.addAttributes(attributes);
3270 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3272 odsState.location, operands,
3273 odsState.attributes.getDictionary(odsState.getContext()),
3274 odsState.getRawProperties(),
3275 odsState.regions, inferredReturnTypes))) {
3276 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3277 odsState.addTypes(inferredReturnTypes);
3279 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3285 unsigned index = 0; (void)index;
3288 for (
auto v : valueGroup0) {
3289 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
3290 return ::mlir::failure();
3294 for (
auto v : valueGroup1) {
3295 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
3296 return ::mlir::failure();
3300 unsigned index = 0; (void)index;
3303 for (
auto v : valueGroup0) {
3304 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
3305 return ::mlir::failure();
3309 return emitOpError(
"failed to verify that result type matches with lhs type");
3311 return emitOpError(
"failed to verify that result type matches with rhs type");
3312 return ::mlir::success();
3319::mlir::LogicalResult
XorFeltOp::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) {
3320 inferredReturnTypes.resize(1);
3321 ::mlir::Builder odsBuilder(context);
3323 inferredReturnTypes[0] = odsInferredType0;
3324 return ::mlir::success();
3327::mlir::ParseResult
XorFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3328 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperands[1];
3329 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(lhsRawOperands); ::llvm::SMLoc lhsOperandsLoc;
3330 (void)lhsOperandsLoc;
3331 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperands[1];
3332 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(rhsRawOperands); ::llvm::SMLoc rhsOperandsLoc;
3333 (void)rhsOperandsLoc;
3334 ::mlir::Type lhsRawTypes[1];
3335 ::llvm::ArrayRef<::mlir::Type> lhsTypes(lhsRawTypes);
3336 ::mlir::Type rhsRawTypes[1];
3337 ::llvm::ArrayRef<::mlir::Type> rhsTypes(rhsRawTypes);
3339 lhsOperandsLoc = parser.getCurrentLocation();
3340 if (parser.parseOperand(lhsRawOperands[0]))
3341 return ::mlir::failure();
3342 if (parser.parseComma())
3343 return ::mlir::failure();
3345 rhsOperandsLoc = parser.getCurrentLocation();
3346 if (parser.parseOperand(rhsRawOperands[0]))
3347 return ::mlir::failure();
3350 if (odsResult) return ::mlir::failure();
3354 if (odsResult) return ::mlir::failure();
3357 auto loc = parser.getCurrentLocation();(void)loc;
3358 if (parser.parseOptionalAttrDict(result.attributes))
3359 return ::mlir::failure();
3362 result.addTypes(odsBuildableType0);
3363 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
3364 return ::mlir::failure();
3365 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
3366 return ::mlir::failure();
3367 return ::mlir::success();
3378 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3379 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3382void XorFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
AddFeltOpAdaptor(AddFeltOp op)
AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::OpOperand & getRhsMutable()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::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::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::LogicalResult verifyInvariants()
::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)
AndFeltOpAdaptor(AndFeltOp op)
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::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)
void print(::mlir::OpAsmPrinter &_odsPrinter)
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)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
DivFeltOpAdaptor(DivFeltOp op)
::mlir::LogicalResult verify(::mlir::Location loc)
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getLhsMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getRhsMutable()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::LogicalResult verifyInvariants()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::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)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::operand_range getODSOperands(unsigned index)
FeltConstantOpAdaptor(FeltConstantOp op)
FeltConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const Properties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void setValueAttr(::llzk::felt::FeltConstAttr attr)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::StringAttr getValueAttrName()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::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::result_range getODSResults(unsigned index)
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llzk::felt::FeltConstAttr getValueAttr()
::mlir::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llzk::felt::FeltConstAttr getValue()
FeltNonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
FeltNonDetOpAdaptor(FeltNonDetOp op)
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::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::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result)
::mlir::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
InvFeltOpAdaptor(InvFeltOp op)
::mlir::ValueRange getOperands()
::mlir::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::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Value getOperand()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getOperandMutable()
::mlir::LogicalResult verify(::mlir::Location loc)
ModFeltOpAdaptor(ModFeltOp op)
ModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::OpOperand & getRhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::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)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::OpOperand & getLhsMutable()
::mlir::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
MulFeltOpAdaptor(MulFeltOp op)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::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::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::LogicalResult verifyInvariants()
::mlir::OpOperand & getLhsMutable()
::mlir::OpOperand & getRhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
NegFeltOpAdaptor(NegFeltOp op)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::LogicalResult verifyInvariants()
::mlir::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::result_range getODSResults(unsigned index)
::mlir::Value getOperand()
::mlir::OpOperand & getOperandMutable()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
NotFeltOpAdaptor(NotFeltOp op)
NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::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 operand)
::mlir::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::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getOperandMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::Value getOperand()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
OrFeltOpAdaptor(OrFeltOp op)
OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getRhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::LogicalResult verifyInvariants()
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::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::OpOperand & getLhsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ShlFeltOpAdaptor(ShlFeltOp op)
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
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 lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpOperand & getRhsMutable()
::mlir::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::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::LogicalResult verifyInvariants()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getLhsMutable()
ShrFeltOpAdaptor(ShrFeltOp op)
ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getRhsMutable()
::mlir::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::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::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 > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SubFeltOpAdaptor(SubFeltOp op)
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::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<::llzk::felt::FeltType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getRhsMutable()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::LogicalResult verifyInvariants()
::mlir::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::LogicalResult verify(::mlir::Location loc)
XorFeltOpAdaptor(XorFeltOp op)
XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::OpOperand & getLhsMutable()
::mlir::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::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::LogicalResult verifyInvariants()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getRhsMutable()
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
AddFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
AndFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
DivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::llzk::felt::FeltConstAttr getValueAttr()
::llzk::felt::FeltConstAttr getValue()
const Properties & getProperties()
FeltConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const Properties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
FeltNonDetOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
InvFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
ModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
MulFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
NegFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
NotFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
OrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
ShlFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
ShrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
SubFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
XorFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
bool typesUnify(Type lhs, Type rhs, ArrayRef< StringRef > rhsReversePrefix, UnificationMap *unifications)