42static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
43 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
44 unsigned valueIndex) {
45 if (!((::llvm::isa<::llzk::felt::FeltType>(type)))) {
46 return op->emitOpError(valueKind) <<
" #" << valueIndex
47 <<
" must be finite field element, but got " << type;
49 return ::mlir::success();
52static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops2(
53 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
54 unsigned valueIndex) {
55 if (!((type.isSignlessInteger(1)))) {
56 return op->emitOpError(valueKind) <<
" #" << valueIndex
57 <<
" must be 1-bit signless integer, but got " << type;
59 return ::mlir::success();
62static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops3(
63 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
64 unsigned valueIndex) {
66 return op->emitOpError(valueKind) <<
" #" << valueIndex
67 <<
" must be variadic of a valid LLZK type, but got " << type;
69 return ::mlir::success();
72static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops4(
73 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
74 unsigned valueIndex) {
75 if (!((::llvm::isa<::mlir::IndexType>(type)))) {
76 return op->emitOpError(valueKind) <<
" #" << valueIndex
77 <<
" must be variadic of index, but got " << type;
79 return ::mlir::success();
82static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops5(
83 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
84 unsigned valueIndex) {
86 return op->emitOpError(valueKind) <<
" #" << valueIndex
87 <<
" must be a valid LLZK type, but got " << type;
89 return ::mlir::success();
92static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops6(
93 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
94 unsigned valueIndex) {
95 if (!((::llvm::isa<::llzk::smt::BoolType>(type)))) {
96 return op->emitOpError(valueKind) <<
" #" << valueIndex
97 <<
" must be , but got " << type;
99 return ::mlir::success();
102static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
103 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
104 if (attr && !((::llvm::isa<::mlir::StringAttr>(attr))))
105 return emitError() <<
"attribute '" << attrName
106 <<
"' failed to satisfy constraint: string attribute";
107 return ::mlir::success();
109static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
110 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
111 return __mlir_ods_local_attr_constraint_Ops1(attr, attrName, [op]() {
112 return op->emitOpError();
116static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
117 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
118 if (attr && !((::llvm::isa<::mlir::SymbolRefAttr>(attr))))
119 return emitError() <<
"attribute '" << attrName
120 <<
"' failed to satisfy constraint: symbol reference attribute";
121 return ::mlir::success();
123static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
124 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
125 return __mlir_ods_local_attr_constraint_Ops2(attr, attrName, [op]() {
126 return op->emitOpError();
130static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops3(
131 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
132 if (attr && !(((::llvm::isa<::mlir::TypeAttr>(attr))) && ((::llvm::isa<::mlir::FunctionType>(::llvm::cast<::mlir::TypeAttr>(attr).getValue()))) && ((::llvm::isa<::mlir::FunctionType>(::llvm::cast<::mlir::TypeAttr>(attr).getValue())))))
133 return emitError() <<
"attribute '" << attrName
134 <<
"' failed to satisfy constraint: type attribute of function type";
135 return ::mlir::success();
137static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops3(
138 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
139 return __mlir_ods_local_attr_constraint_Ops3(attr, attrName, [op]() {
140 return op->emitOpError();
144static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops4(
145 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
146 if (attr && !(((::llvm::isa<::mlir::ArrayAttr>(attr))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(attr), [&](::mlir::Attribute attr) {
return attr && ((::llvm::isa<::mlir::DictionaryAttr>(attr))); }))))
147 return emitError() <<
"attribute '" << attrName
148 <<
"' failed to satisfy constraint: Array of dictionary attributes";
149 return ::mlir::success();
151static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops4(
152 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
153 return __mlir_ods_local_attr_constraint_Ops4(attr, attrName, [op]() {
154 return op->emitOpError();
158static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops5(
159 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
160 if (attr && !((::llvm::isa<::mlir::ArrayAttr>(attr))))
161 return emitError() <<
"attribute '" << attrName
162 <<
"' failed to satisfy constraint: array attribute";
163 return ::mlir::success();
165static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops5(
166 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
167 return __mlir_ods_local_attr_constraint_Ops5(attr, attrName, [op]() {
168 return op->emitOpError();
172static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops6(
173 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
174 if (attr && !((::llvm::isa<::mlir::DenseI32ArrayAttr>(attr))))
175 return emitError() <<
"attribute '" << attrName
176 <<
"' failed to satisfy constraint: i32 dense array attribute";
177 return ::mlir::success();
179static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops6(
180 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
181 return __mlir_ods_local_attr_constraint_Ops6(attr, attrName, [op]() {
182 return op->emitOpError();
186static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops7(
187 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
188 if (attr && !(((::llvm::isa<::mlir::ArrayAttr>(attr))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(attr), [&](::mlir::Attribute attr) {
return attr && (((::llvm::isa<::mlir::TypeAttr>(attr))) && ((::llvm::isa<::mlir::Type>(::llvm::cast<::mlir::TypeAttr>(attr).getValue()))) && ((
true))); }))))
189 return emitError() <<
"attribute '" << attrName
190 <<
"' failed to satisfy constraint: type array attribute";
191 return ::mlir::success();
193static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops7(
194 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
195 return __mlir_ods_local_attr_constraint_Ops7(attr, attrName, [op]() {
196 return op->emitOpError();
200static ::llvm::LogicalResult __mlir_ods_local_region_constraint_Ops1(
201 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
202 unsigned regionIndex) {
204 return op->emitOpError(
"region #") << regionIndex
205 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
206 <<
"failed to verify constraint: any region";
208 return ::mlir::success();
211static ::llvm::LogicalResult __mlir_ods_local_region_constraint_Ops2(
212 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
213 unsigned regionIndex) {
214 if (!((::llvm::hasNItems(region, 1)))) {
215 return op->emitOpError(
"region #") << regionIndex
216 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
217 <<
"failed to verify constraint: region with 1 blocks";
219 return ::mlir::success();
235 return ::mlir::success();
241void ContractEndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
242 assert(resultTypes.size() == 0u &&
"mismatched number of results");
243 odsState.addTypes(resultTypes);
246void ContractEndOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
247 assert(operands.size() == 0u &&
"mismatched number of parameters");
248 odsState.addOperands(operands);
249 odsState.addAttributes(attributes);
250 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
251 odsState.addTypes(resultTypes);
255 return ::mlir::success();
264 auto loc = parser.getCurrentLocation();(void)loc;
265 if (parser.parseOptionalAttrDict(result.attributes))
266 return ::mlir::failure();
268 return ::mlir::success();
272 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
273 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
295 return attr.getValue();
305 return ::llvm::cast<::mlir::FunctionType>(attr.getValue());
310 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
319 if (!tblgen_function_type)
return emitError(loc,
"'verif.contract' op ""requires attribute 'function_type'");
321 if (!tblgen_sym_name)
return emitError(loc,
"'verif.contract' op ""requires attribute 'sym_name'");
323 if (!tblgen_target)
return emitError(loc,
"'verif.contract' op ""requires attribute 'target'");
325 if (tblgen_sym_name && !((::llvm::isa<::mlir::StringAttr>(tblgen_sym_name))))
326 return emitError(loc,
"'verif.contract' op ""attribute 'sym_name' failed to satisfy constraint: string attribute");
328 if (tblgen_target && !((::llvm::isa<::mlir::SymbolRefAttr>(tblgen_target))))
329 return emitError(loc,
"'verif.contract' op ""attribute 'target' failed to satisfy constraint: symbol reference attribute");
331 if (tblgen_function_type && !(((::llvm::isa<::mlir::TypeAttr>(tblgen_function_type))) && ((::llvm::isa<::mlir::FunctionType>(::llvm::cast<::mlir::TypeAttr>(tblgen_function_type).getValue()))) && ((::llvm::isa<::mlir::FunctionType>(::llvm::cast<::mlir::TypeAttr>(tblgen_function_type).getValue())))))
332 return emitError(loc,
"'verif.contract' op ""attribute 'function_type' failed to satisfy constraint: type attribute of function type");
334 if (tblgen_arg_attrs && !(((::llvm::isa<::mlir::ArrayAttr>(tblgen_arg_attrs))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(tblgen_arg_attrs), [&](::mlir::Attribute attr) {
return attr && ((::llvm::isa<::mlir::DictionaryAttr>(attr))); }))))
335 return emitError(loc,
"'verif.contract' op ""attribute 'arg_attrs' failed to satisfy constraint: Array of dictionary attributes");
336 return ::mlir::success();
340 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
342 emitError() <<
"expected DictionaryAttr to set properties";
343 return ::mlir::failure();
348 auto attr = dict.get(
"arg_attrs");
350 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
352 propStorage = convertedAttr;
354 emitError() <<
"Invalid attribute `arg_attrs` in property conversion: " << attr;
355 return ::mlir::failure();
362 auto attr = dict.get(
"function_type");
364 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
366 propStorage = convertedAttr;
368 emitError() <<
"Invalid attribute `function_type` in property conversion: " << attr;
369 return ::mlir::failure();
376 auto attr = dict.get(
"sym_name");
378 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
380 propStorage = convertedAttr;
382 emitError() <<
"Invalid attribute `sym_name` in property conversion: " << attr;
383 return ::mlir::failure();
389 auto &propStorage = prop.
target;
390 auto attr = dict.get(
"target");
392 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
394 propStorage = convertedAttr;
396 emitError() <<
"Invalid attribute `target` in property conversion: " << attr;
397 return ::mlir::failure();
401 return ::mlir::success();
405 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
406 ::mlir::Builder odsBuilder{ctx};
409 const auto &propStorage = prop.
arg_attrs;
411 attrs.push_back(odsBuilder.getNamedAttr(
"arg_attrs",
418 attrs.push_back(odsBuilder.getNamedAttr(
"function_type",
423 const auto &propStorage = prop.
sym_name;
425 attrs.push_back(odsBuilder.getNamedAttr(
"sym_name",
430 const auto &propStorage = prop.
target;
432 attrs.push_back(odsBuilder.getNamedAttr(
"target",
437 return odsBuilder.getDictionaryAttr(attrs);
442 return llvm::hash_combine(
443 llvm::hash_value(prop.
arg_attrs.getAsOpaquePointer()),
445 llvm::hash_value(prop.
sym_name.getAsOpaquePointer()),
446 llvm::hash_value(prop.
target.getAsOpaquePointer()));
450 if (name ==
"arg_attrs")
453 if (name ==
"function_type")
456 if (name ==
"sym_name")
459 if (name ==
"target")
465 if (name ==
"arg_attrs") {
466 prop.
arg_attrs = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
arg_attrs)>>(value);
470 if (name ==
"function_type") {
475 if (name ==
"sym_name") {
476 prop.
sym_name = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
sym_name)>>(value);
480 if (name ==
"target") {
481 prop.
target = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
target)>>(value);
496::llvm::LogicalResult
ContractOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
499 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops4(attr,
"arg_attrs", emitError)))
500 return ::mlir::failure();
505 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops3(attr,
"function_type", emitError)))
506 return ::mlir::failure();
511 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(attr,
"sym_name", emitError)))
512 return ::mlir::failure();
517 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(attr,
"target", emitError)))
518 return ::mlir::failure();
520 return ::mlir::success();
524 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
525 if (::mlir::failed(reader.readOptionalAttribute(prop.
arg_attrs)))
526 return ::mlir::failure();
528 if (::mlir::failed(reader.readAttribute(prop.
function_type)))
529 return ::mlir::failure();
531 if (::mlir::failed(reader.readAttribute(prop.
sym_name)))
532 return ::mlir::failure();
534 if (::mlir::failed(reader.readAttribute(prop.
target)))
535 return ::mlir::failure();
536 return ::mlir::success();
540 auto &prop = getProperties(); (void)prop;
542 writer.writeOptionalAttribute(prop.
arg_attrs);
544 writer.writeAttribute(prop.
sym_name);
545 writer.writeAttribute(prop.
target);
550 return attr.getValue();
560 return ::llvm::cast<::mlir::FunctionType>(attr.getValue());
565 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
569 getProperties().sym_name = ::mlir::Builder((*this)->getContext()).getStringAttr(attrValue);
573 getProperties().function_type = ::mlir::TypeAttr::get(attrValue);
576void ContractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::SymbolRefAttr target, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs) {
577 build(odsBuilder, odsState, ::mlir::TypeRange {}, sym_name, target, function_type, arg_attrs);
581void ContractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr sym_name, ::mlir::SymbolRefAttr target, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs) {
582 odsState.getOrAddProperties<
Properties>().sym_name = sym_name;
583 odsState.getOrAddProperties<
Properties>().target = target;
584 odsState.getOrAddProperties<
Properties>().function_type = function_type;
586 odsState.getOrAddProperties<
Properties>().arg_attrs = arg_attrs;
589 odsBuilder, odsState, ::mlir::cast<::mlir::FunctionType>(function_type.getValue())
591 assert(resultTypes.size() == 0u &&
"mismatched number of results");
592 odsState.addTypes(resultTypes);
596void ContractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef sym_name, ::mlir::SymbolRefAttr target, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs) {
597 build(odsBuilder, odsState, ::mlir::TypeRange {}, sym_name, target, function_type, arg_attrs);
601void ContractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef sym_name, ::mlir::SymbolRefAttr target, ::mlir::FunctionType function_type, ::mlir::ArrayAttr arg_attrs) {
602 odsState.getOrAddProperties<
Properties>().sym_name = odsBuilder.getStringAttr(sym_name);
603 odsState.getOrAddProperties<
Properties>().target = target;
604 odsState.getOrAddProperties<
Properties>().function_type = ::mlir::TypeAttr::get(function_type);
606 odsState.getOrAddProperties<
Properties>().arg_attrs = arg_attrs;
608 initializeEmptyBody(odsBuilder, odsState, function_type);
609 assert(resultTypes.size() == 0u &&
"mismatched number of results");
610 odsState.addTypes(resultTypes);
615 auto tblgen_arg_attrs = getProperties().arg_attrs; (void)tblgen_arg_attrs;
616 auto tblgen_function_type = getProperties().function_type; (void)tblgen_function_type;
617 if (!tblgen_function_type)
return emitOpError(
"requires attribute 'function_type'");
618 auto tblgen_sym_name = getProperties().sym_name; (void)tblgen_sym_name;
619 if (!tblgen_sym_name)
return emitOpError(
"requires attribute 'sym_name'");
620 auto tblgen_target = getProperties().target; (void)tblgen_target;
621 if (!tblgen_target)
return emitOpError(
"requires attribute 'target'");
623 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(*
this, tblgen_sym_name,
"sym_name")))
624 return ::mlir::failure();
626 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(*
this, tblgen_target,
"target")))
627 return ::mlir::failure();
629 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops3(*
this, tblgen_function_type,
"function_type")))
630 return ::mlir::failure();
632 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops4(*
this, tblgen_arg_attrs,
"arg_attrs")))
633 return ::mlir::failure();
635 unsigned index = 0; (void)index;
637 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
638 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops1(*
this, region,
"body", index++)))
639 return ::mlir::failure();
641 return ::mlir::success();
646 return ::mlir::success();
647 return ::mlir::failure();
666 return ::mlir::success();
669void DecreasesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
670 odsState.addOperands(value);
673void DecreasesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
674 odsState.addOperands(value);
675 assert(resultTypes.size() == 0u &&
"mismatched number of results");
676 odsState.addTypes(resultTypes);
679void DecreasesOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
680 assert(operands.size() == 1u &&
"mismatched number of parameters");
681 odsState.addOperands(operands);
682 odsState.addAttributes(attributes);
683 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
684 odsState.addTypes(resultTypes);
689 unsigned index = 0; (void)index;
692 for (
auto v : valueGroup0) {
693 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
694 return ::mlir::failure();
697 return ::mlir::success();
705 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
706 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
707 (void)valueOperandsLoc;
709 valueOperandsLoc = parser.getCurrentLocation();
710 if (parser.parseOperand(valueRawOperand))
711 return ::mlir::failure();
713 auto loc = parser.getCurrentLocation();(void)loc;
714 if (parser.parseOptionalAttrDict(result.attributes))
715 return ::mlir::failure();
718 if (parser.resolveOperands(valueOperands, odsBuildableType0, valueOperandsLoc, result.operands))
719 return ::mlir::failure();
720 return ::mlir::success();
726 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
727 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
733 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
735 effects.emplace_back(::mlir::MemoryEffects::Write::get());
753 return ::mlir::success();
757 odsState.addOperands(condition);
760void EnsureComputeOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
761 odsState.addOperands(condition);
762 assert(resultTypes.size() == 0u &&
"mismatched number of results");
763 odsState.addTypes(resultTypes);
766void EnsureComputeOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
767 assert(operands.size() == 1u &&
"mismatched number of parameters");
768 odsState.addOperands(operands);
769 odsState.addAttributes(attributes);
770 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
771 odsState.addTypes(resultTypes);
776 unsigned index = 0; (void)index;
779 for (
auto v : valueGroup0) {
780 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
781 return ::mlir::failure();
784 return ::mlir::success();
792 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
793 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
794 (void)conditionOperandsLoc;
796 conditionOperandsLoc = parser.getCurrentLocation();
797 if (parser.parseOperand(conditionRawOperand))
798 return ::mlir::failure();
800 auto loc = parser.getCurrentLocation();(void)loc;
801 if (parser.parseOptionalAttrDict(result.attributes))
802 return ::mlir::failure();
804 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
805 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
806 return ::mlir::failure();
807 return ::mlir::success();
813 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
814 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
820 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
822 effects.emplace_back(::mlir::MemoryEffects::Write::get());
840 return ::mlir::success();
844 odsState.addOperands(condition);
847void EnsureConstrainOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
848 odsState.addOperands(condition);
849 assert(resultTypes.size() == 0u &&
"mismatched number of results");
850 odsState.addTypes(resultTypes);
853void EnsureConstrainOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
854 assert(operands.size() == 1u &&
"mismatched number of parameters");
855 odsState.addOperands(operands);
856 odsState.addAttributes(attributes);
857 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
858 odsState.addTypes(resultTypes);
863 unsigned index = 0; (void)index;
866 for (
auto v : valueGroup0) {
867 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
868 return ::mlir::failure();
871 return ::mlir::success();
879 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
880 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
881 (void)conditionOperandsLoc;
883 conditionOperandsLoc = parser.getCurrentLocation();
884 if (parser.parseOperand(conditionRawOperand))
885 return ::mlir::failure();
887 auto loc = parser.getCurrentLocation();(void)loc;
888 if (parser.parseOptionalAttrDict(result.attributes))
889 return ::mlir::failure();
891 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
892 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
893 return ::mlir::failure();
894 return ::mlir::success();
900 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
901 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
907 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
909 effects.emplace_back(::mlir::MemoryEffects::Write::get());
929 for (
unsigned i = 0; i < index; ++i)
930 start += sizeAttr[i];
931 return {start, sizeAttr[index]};
941 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
945 auto attr = ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(
getProperties().numDimsPerMap);
964 if (!tblgen_callee)
return emitError(loc,
"'verif.include' op ""requires attribute 'callee'");
966 if (!tblgen_mapOpGroupSizes)
return emitError(loc,
"'verif.include' op ""requires attribute 'mapOpGroupSizes'");
970 if (tblgen_callee && !((::llvm::isa<::mlir::SymbolRefAttr>(tblgen_callee))))
971 return emitError(loc,
"'verif.include' op ""attribute 'callee' failed to satisfy constraint: symbol reference attribute");
973 if (tblgen_templateParams && !((::llvm::isa<::mlir::ArrayAttr>(tblgen_templateParams))))
974 return emitError(loc,
"'verif.include' op ""attribute 'templateParams' failed to satisfy constraint: array attribute");
976 if (tblgen_numDimsPerMap && !((::llvm::isa<::mlir::DenseI32ArrayAttr>(tblgen_numDimsPerMap))))
977 return emitError(loc,
"'verif.include' op ""attribute 'numDimsPerMap' failed to satisfy constraint: i32 dense array attribute");
979 if (tblgen_mapOpGroupSizes && !((::llvm::isa<::mlir::DenseI32ArrayAttr>(tblgen_mapOpGroupSizes))))
980 return emitError(loc,
"'verif.include' op ""attribute 'mapOpGroupSizes' failed to satisfy constraint: i32 dense array attribute");
981 return ::mlir::success();
985 ::llvm::ArrayRef<int32_t> sizeAttr = getProperties().operandSegmentSizes;
988 for (
unsigned i = 0; i < index; ++i)
989 start += sizeAttr[i];
990 return {start, sizeAttr[index]};
995 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second, ::mlir::MutableOperandRange::OperandSegment(0u, {getOperandSegmentSizesAttrName(), ::mlir::DenseI32ArrayAttr::get(getContext(), getProperties().operandSegmentSizes)}));
1001 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second, ::mlir::MutableOperandRange::OperandSegment(1u, {getOperandSegmentSizesAttrName(), ::mlir::DenseI32ArrayAttr::get(getContext(), getProperties().operandSegmentSizes)}));
1006 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1008 emitError() <<
"expected DictionaryAttr to set properties";
1009 return ::mlir::failure();
1013 auto &propStorage = prop.
callee;
1014 auto attr = dict.get(
"callee");
1016 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1017 if (convertedAttr) {
1018 propStorage = convertedAttr;
1020 emitError() <<
"Invalid attribute `callee` in property conversion: " << attr;
1021 return ::mlir::failure();
1028 auto attr = dict.get(
"mapOpGroupSizes");
1030 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1031 if (convertedAttr) {
1032 propStorage = convertedAttr;
1034 emitError() <<
"Invalid attribute `mapOpGroupSizes` in property conversion: " << attr;
1035 return ::mlir::failure();
1042 auto attr = dict.get(
"numDimsPerMap");
1044 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1045 if (convertedAttr) {
1046 propStorage = convertedAttr;
1048 emitError() <<
"Invalid attribute `numDimsPerMap` in property conversion: " << attr;
1049 return ::mlir::failure();
1056 auto attr = dict.get(
"templateParams");
1058 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1059 if (convertedAttr) {
1060 propStorage = convertedAttr;
1062 emitError() <<
"Invalid attribute `templateParams` in property conversion: " << attr;
1063 return ::mlir::failure();
1069 auto setFromAttr = [] (
auto &propStorage, ::mlir::Attribute propAttr,
1070 ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) -> ::mlir::LogicalResult {
1071 return convertFromAttribute(propStorage, propAttr, emitError);
1073 auto attr = dict.get(
"operandSegmentSizes");
if (!attr) attr = dict.get(
"operand_segment_sizes");;
1076 return ::mlir::failure();
1078 return ::mlir::success();
1082 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1083 ::mlir::Builder odsBuilder{ctx};
1086 const auto &propStorage = prop.
callee;
1088 attrs.push_back(odsBuilder.getNamedAttr(
"callee",
1095 attrs.push_back(odsBuilder.getNamedAttr(
"mapOpGroupSizes",
1102 attrs.push_back(odsBuilder.getNamedAttr(
"numDimsPerMap",
1109 attrs.push_back(odsBuilder.getNamedAttr(
"templateParams",
1115 auto attr = [&]() -> ::mlir::Attribute {
1116 return ::mlir::DenseI32ArrayAttr::get(ctx, propStorage);
1118 attrs.push_back(odsBuilder.getNamedAttr(
"operandSegmentSizes", attr));
1122 return odsBuilder.getDictionaryAttr(attrs);
1127 auto hash_operandSegmentSizes = [] (
const auto &propStorage) -> llvm::hash_code {
1128 return ::llvm::hash_combine_range(std::begin(propStorage), std::end(propStorage));;
1130 return llvm::hash_combine(
1131 llvm::hash_value(prop.
callee.getAsOpaquePointer()),
1139 if (name ==
"callee")
1142 if (name ==
"mapOpGroupSizes")
1145 if (name ==
"numDimsPerMap")
1148 if (name ==
"templateParams")
1150 if (name ==
"operand_segment_sizes" || name ==
"operandSegmentSizes")
return [&]() -> ::mlir::Attribute { return ::mlir::DenseI32ArrayAttr::get(ctx, prop.
operandSegmentSizes); }();
1151 return std::nullopt;
1155 if (name ==
"callee") {
1156 prop.
callee = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
callee)>>(value);
1160 if (name ==
"mapOpGroupSizes") {
1165 if (name ==
"numDimsPerMap") {
1170 if (name ==
"templateParams") {
1174 if (name ==
"operand_segment_sizes" || name ==
"operandSegmentSizes") {
1175 auto arrAttr = ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(value);
1176 if (!arrAttr)
return;
1192 attrs.append(
"operandSegmentSizes", [&]() -> ::mlir::Attribute { return ::mlir::DenseI32ArrayAttr::get(ctx, prop.
operandSegmentSizes); }());
1195::llvm::LogicalResult
IncludeOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1198 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(attr,
"callee", emitError)))
1199 return ::mlir::failure();
1204 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops6(attr,
"mapOpGroupSizes", emitError)))
1205 return ::mlir::failure();
1210 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops6(attr,
"numDimsPerMap", emitError)))
1211 return ::mlir::failure();
1216 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops5(attr,
"templateParams", emitError)))
1217 return ::mlir::failure();
1219 return ::mlir::success();
1223 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1224 if (::mlir::failed(reader.readAttribute(prop.
callee)))
1225 return ::mlir::failure();
1228 return ::mlir::failure();
1230 if (::mlir::failed(reader.readOptionalAttribute(prop.
numDimsPerMap)))
1231 return ::mlir::failure();
1233 if (reader.getBytecodeVersion() < 6) {
1235 ::mlir::DenseI32ArrayAttr attr;
1236 if (::mlir::failed(reader.readAttribute(attr))) return ::mlir::failure();
1237 if (attr.size() >
static_cast<int64_t
>(
sizeof(propStorage) /
sizeof(int32_t))) {
1238 reader.emitError(
"size mismatch for operand/result_segment_size");
1239 return ::mlir::failure();
1241 ::llvm::copy(::llvm::ArrayRef<int32_t>(attr), propStorage.begin());
1244 if (::mlir::failed(reader.readOptionalAttribute(prop.
templateParams)))
1245 return ::mlir::failure();
1249 auto readProp = [&]() {
1251 if (reader.getBytecodeVersion() >= 6)
1252 return reader.readSparseArray(::llvm::MutableArrayRef(propStorage));
1254 return ::mlir::success();
1256 if (::mlir::failed(readProp()))
1257 return ::mlir::failure();
1259 return ::mlir::success();
1263 auto &prop = getProperties(); (void)prop;
1264 writer.writeAttribute(prop.
callee);
1269if (writer.getBytecodeVersion() < 6) {
1271 writer.writeAttribute(::mlir::DenseI32ArrayAttr::get(this->getContext(), propStorage));
1279 if (writer.getBytecodeVersion() >= 6)
1280 writer.writeSparseArray(::llvm::ArrayRef(propStorage));
1292 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
1306 getProperties().numDimsPerMap = ::mlir::Builder((*this)->getContext()).getDenseI32ArrayAttr(attrValue);
1310 getProperties().mapOpGroupSizes = ::mlir::Builder((*this)->getContext()).getDenseI32ArrayAttr(attrValue);
1313void IncludeOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::SymbolRefAttr callee, ::llvm::ArrayRef<::mlir::ValueRange> mapOperands, ::llvm::ArrayRef<int32_t> numDimsPerMap, ::mlir::ValueRange argOperands, ::llvm::ArrayRef<::mlir::Attribute> templateParams) {
1314 build(odsBuilder, odsState, callee, mapOperands,
1315 odsBuilder.getDenseI32ArrayAttr(numDimsPerMap),
1316 argOperands, templateParams);
1321 build(odsBuilder, odsState,
1323 argOperands, templateParams);
1327void IncludeOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::verif::ContractOp callee, ::llvm::ArrayRef<::mlir::ValueRange> mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::mlir::ValueRange argOperands, ::llvm::ArrayRef<::mlir::Attribute> templateParams) {
1328 build(odsBuilder, odsState,
1330 argOperands, templateParams);
1334void IncludeOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::verif::ContractOp callee, ::llvm::ArrayRef<::mlir::ValueRange> mapOperands, ::llvm::ArrayRef<int32_t> numDimsPerMap, ::mlir::ValueRange argOperands, ::llvm::ArrayRef<::mlir::Attribute> templateParams) {
1335 build(odsBuilder, odsState, callee, mapOperands,
1336 odsBuilder.getDenseI32ArrayAttr(numDimsPerMap),
1337 argOperands, templateParams);
1342 ::mlir::Builder odsBuilder(opName.getContext());
1344 properties.
numDimsPerMap = odsBuilder.getDenseI32ArrayAttr({});
1348 auto tblgen_callee = getProperties().callee; (void)tblgen_callee;
1349 if (!tblgen_callee)
return emitOpError(
"requires attribute 'callee'");
1350 auto tblgen_mapOpGroupSizes = getProperties().mapOpGroupSizes; (void)tblgen_mapOpGroupSizes;
1351 if (!tblgen_mapOpGroupSizes)
return emitOpError(
"requires attribute 'mapOpGroupSizes'");
1352 auto tblgen_numDimsPerMap = getProperties().numDimsPerMap; (void)tblgen_numDimsPerMap;
1353 auto tblgen_templateParams = getProperties().templateParams; (void)tblgen_templateParams;
1355 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(*
this, tblgen_callee,
"callee")))
1356 return ::mlir::failure();
1358 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops5(*
this, tblgen_templateParams,
"templateParams")))
1359 return ::mlir::failure();
1361 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops6(*
this, tblgen_numDimsPerMap,
"numDimsPerMap")))
1362 return ::mlir::failure();
1364 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops6(*
this, tblgen_mapOpGroupSizes,
"mapOpGroupSizes")))
1365 return ::mlir::failure();
1367 unsigned index = 0; (void)index;
1370 for (
auto v : valueGroup0) {
1371 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1372 return ::mlir::failure();
1375 if (::mlir::failed(::mlir::OpTrait::impl::verifyValueSizeAttr(*
this,
"mapOpGroupSizes",
"mapOperands", valueGroup1.size())))
1376 return ::mlir::failure();
1378 for (
auto v : valueGroup1) {
1379 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops4(*
this, v.getType(),
"operand", index++)))
1380 return ::mlir::failure();
1383 return ::mlir::success();
1390::mlir::ParseResult
IncludeOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1391 ::mlir::SymbolRefAttr calleeAttr;
1392 ::mlir::ArrayAttr templateParamsAttr;
1393 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> argOperandsOperands;
1394 ::llvm::SMLoc argOperandsOperandsLoc;
1395 (void)argOperandsOperandsLoc;
1396 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> mapOperandsOperands;
1397 llvm::SmallVector<int32_t> mapOperandsOperandGroupSizes;
1398 ::llvm::SMLoc mapOperandsOperandsLoc;
1399 (void)mapOperandsOperandsLoc;
1400 ::mlir::DenseI32ArrayAttr numDimsPerMapAttr;
1401 ::llvm::ArrayRef<::mlir::Type> argOperandsTypes;
1402 ::llvm::ArrayRef<::mlir::Type> allResultTypes;
1404 if (parser.parseCustomAttributeWithFallback(calleeAttr, parser.getBuilder().getType<::mlir::NoneType>())) {
1405 return ::mlir::failure();
1408 if (::mlir::succeeded(parser.parseOptionalLess())) {
1411 if (odsResult) return ::mlir::failure();
1412 if (templateParamsAttr)
1415 if (parser.parseGreater())
1416 return ::mlir::failure();
1418 if (parser.parseLParen())
1419 return ::mlir::failure();
1421 argOperandsOperandsLoc = parser.getCurrentLocation();
1422 if (parser.parseOperandList(argOperandsOperands))
1423 return ::mlir::failure();
1424 if (parser.parseRParen())
1425 return ::mlir::failure();
1426 if (::mlir::succeeded(parser.parseOptionalLBrace())) {
1428 mapOperandsOperandsLoc = parser.getCurrentLocation();
1429 ::llvm::SmallVector<::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand>> mapOperandsOperandGroups;
1431 if (odsResult) return ::mlir::failure();
1432 for (
const auto &subRange : mapOperandsOperandGroups) {
1433 mapOperandsOperands.append(subRange.begin(), subRange.end());
1434 mapOperandsOperandGroupSizes.push_back(subRange.size());
1436 if (numDimsPerMapAttr)
1439 if (parser.parseRBrace())
1440 return ::mlir::failure();
1442 if (parser.parseColon())
1443 return ::mlir::failure();
1445 ::mlir::FunctionType argOperands__allResult_functionType;
1446 if (parser.parseType(argOperands__allResult_functionType))
1447 return ::mlir::failure();
1448 argOperandsTypes = argOperands__allResult_functionType.getInputs();
1449 allResultTypes = argOperands__allResult_functionType.getResults();
1452 if (odsResult) return ::mlir::failure();
1454::llvm::copy(::llvm::ArrayRef<int32_t>({
static_cast<int32_t
>(argOperandsOperands.size()),
static_cast<int32_t
>(mapOperandsOperands.size())}), result.getOrAddProperties<
IncludeOp::Properties>().operandSegmentSizes.begin());
1455 result.getOrAddProperties<
IncludeOp::Properties>().mapOpGroupSizes = parser.getBuilder().getDenseI32ArrayAttr(mapOperandsOperandGroupSizes);
1456 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIndexType();
1457 result.addTypes(allResultTypes);
1458 if (parser.resolveOperands(argOperandsOperands, argOperandsTypes, argOperandsOperandsLoc, result.operands))
1459 return ::mlir::failure();
1460 if (parser.resolveOperands(mapOperandsOperands, odsBuildableType0, mapOperandsOperandsLoc, result.operands))
1461 return ::mlir::failure();
1462 return ::mlir::success();
1466 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1468 emitError() <<
"expected DictionaryAttr to set properties";
1469 return ::mlir::failure();
1474 auto attr = dict.get(
"mapOpGroupSizes");
1477 emitError() <<
"expected key entry for mapOpGroupSizes in DictionaryAttr to set "
1479 return ::mlir::failure();
1481 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1482 if (convertedAttr) {
1483 propStorage = convertedAttr;
1485 emitError() <<
"Invalid attribute `mapOpGroupSizes` in property conversion: " << attr;
1486 return ::mlir::failure();
1490 return ::mlir::success();
1505 _odsPrinter <<
' ' <<
"{";
1509 _odsPrinter <<
' ' <<
":";
1511 _odsPrinter.printFunctionalType(
getArgOperands().getTypes(), getOperation()->getResultTypes());
1532 return ::mlir::success();
1535void IncreasesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
1536 odsState.addOperands(value);
1539void IncreasesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
1540 odsState.addOperands(value);
1541 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1542 odsState.addTypes(resultTypes);
1545void IncreasesOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1546 assert(operands.size() == 1u &&
"mismatched number of parameters");
1547 odsState.addOperands(operands);
1548 odsState.addAttributes(attributes);
1549 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1550 odsState.addTypes(resultTypes);
1555 unsigned index = 0; (void)index;
1558 for (
auto v : valueGroup0) {
1559 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
1560 return ::mlir::failure();
1563 return ::mlir::success();
1571 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
1572 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
1573 (void)valueOperandsLoc;
1575 valueOperandsLoc = parser.getCurrentLocation();
1576 if (parser.parseOperand(valueRawOperand))
1577 return ::mlir::failure();
1579 auto loc = parser.getCurrentLocation();(void)loc;
1580 if (parser.parseOptionalAttrDict(result.attributes))
1581 return ::mlir::failure();
1584 if (parser.resolveOperands(valueOperands, odsBuildableType0, valueOperandsLoc, result.operands))
1585 return ::mlir::failure();
1586 return ::mlir::success();
1592 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1593 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1599 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
1601 effects.emplace_back(::mlir::MemoryEffects::Write::get());
1619 return attr.getValue();
1632 if (!tblgen_loop_arg_types)
return emitError(loc,
"'verif.invariant' op ""requires attribute 'loop_arg_types'");
1634 if (!tblgen_loop_name)
return emitError(loc,
"'verif.invariant' op ""requires attribute 'loop_name'");
1636 if (tblgen_loop_name && !((::llvm::isa<::mlir::StringAttr>(tblgen_loop_name))))
1637 return emitError(loc,
"'verif.invariant' op ""attribute 'loop_name' failed to satisfy constraint: string attribute");
1639 if (tblgen_loop_arg_types && !(((::llvm::isa<::mlir::ArrayAttr>(tblgen_loop_arg_types))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(tblgen_loop_arg_types), [&](::mlir::Attribute attr) {
return attr && (((::llvm::isa<::mlir::TypeAttr>(attr))) && ((::llvm::isa<::mlir::Type>(::llvm::cast<::mlir::TypeAttr>(attr).getValue()))) && ((
true))); }))))
1640 return emitError(loc,
"'verif.invariant' op ""attribute 'loop_arg_types' failed to satisfy constraint: type array attribute");
1641 return ::mlir::success();
1645 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1647 emitError() <<
"expected DictionaryAttr to set properties";
1648 return ::mlir::failure();
1653 auto attr = dict.get(
"loop_arg_types");
1655 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1656 if (convertedAttr) {
1657 propStorage = convertedAttr;
1659 emitError() <<
"Invalid attribute `loop_arg_types` in property conversion: " << attr;
1660 return ::mlir::failure();
1667 auto attr = dict.get(
"loop_name");
1669 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1670 if (convertedAttr) {
1671 propStorage = convertedAttr;
1673 emitError() <<
"Invalid attribute `loop_name` in property conversion: " << attr;
1674 return ::mlir::failure();
1678 return ::mlir::success();
1682 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1683 ::mlir::Builder odsBuilder{ctx};
1688 attrs.push_back(odsBuilder.getNamedAttr(
"loop_arg_types",
1693 const auto &propStorage = prop.
loop_name;
1695 attrs.push_back(odsBuilder.getNamedAttr(
"loop_name",
1700 return odsBuilder.getDictionaryAttr(attrs);
1705 return llvm::hash_combine(
1707 llvm::hash_value(prop.
loop_name.getAsOpaquePointer()));
1711 if (name ==
"loop_arg_types")
1714 if (name ==
"loop_name")
1716 return std::nullopt;
1720 if (name ==
"loop_arg_types") {
1725 if (name ==
"loop_name") {
1726 prop.
loop_name = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
loop_name)>>(value);
1737::llvm::LogicalResult
InvariantOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1740 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops7(attr,
"loop_arg_types", emitError)))
1741 return ::mlir::failure();
1746 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(attr,
"loop_name", emitError)))
1747 return ::mlir::failure();
1749 return ::mlir::success();
1753 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1755 return ::mlir::failure();
1757 if (::mlir::failed(reader.readAttribute(prop.
loop_name)))
1758 return ::mlir::failure();
1759 return ::mlir::success();
1763 auto &prop = getProperties(); (void)prop;
1770 return attr.getValue();
1779 getProperties().loop_name = ::mlir::Builder((*this)->getContext()).getStringAttr(attrValue);
1783 auto tblgen_loop_arg_types = getProperties().loop_arg_types; (void)tblgen_loop_arg_types;
1784 if (!tblgen_loop_arg_types)
return emitOpError(
"requires attribute 'loop_arg_types'");
1785 auto tblgen_loop_name = getProperties().loop_name; (void)tblgen_loop_name;
1786 if (!tblgen_loop_name)
return emitOpError(
"requires attribute 'loop_name'");
1788 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(*
this, tblgen_loop_name,
"loop_name")))
1789 return ::mlir::failure();
1791 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops7(*
this, tblgen_loop_arg_types,
"loop_arg_types")))
1792 return ::mlir::failure();
1794 unsigned index = 0; (void)index;
1796 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
1797 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops2(*
this, region,
"region", index++)))
1798 return ::mlir::failure();
1800 return ::mlir::success();
1805 return ::mlir::success();
1806 return ::mlir::failure();
1825 return ::mlir::success();
1828void OldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
1829 odsState.addOperands(value);
1830 odsState.addTypes(result);
1833void OldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
1834 odsState.addOperands(value);
1836 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1838 odsState.location, odsState.operands,
1839 odsState.attributes.getDictionary(odsState.getContext()),
1840 odsState.getRawProperties(),
1841 odsState.regions, inferredReturnTypes)))
1842 odsState.addTypes(inferredReturnTypes);
1844 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1848void OldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
1849 odsState.addOperands(value);
1850 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1851 odsState.addTypes(resultTypes);
1854void OldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1855 assert(operands.size() == 1u &&
"mismatched number of parameters");
1856 odsState.addOperands(operands);
1857 odsState.addAttributes(attributes);
1858 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1859 odsState.addTypes(resultTypes);
1862void OldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1863 assert(operands.size() == 1u &&
"mismatched number of parameters");
1864 odsState.addOperands(operands);
1865 odsState.addAttributes(attributes);
1867 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1869 odsState.location, operands,
1870 odsState.attributes.getDictionary(odsState.getContext()),
1871 odsState.getRawProperties(),
1872 odsState.regions, inferredReturnTypes))) {
1873 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1874 odsState.addTypes(inferredReturnTypes);
1876 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1882 unsigned index = 0; (void)index;
1885 for (
auto v : valueGroup0) {
1886 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops5(*
this, v.getType(),
"operand", index++)))
1887 return ::mlir::failure();
1891 unsigned index = 0; (void)index;
1894 for (
auto v : valueGroup0) {
1895 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops5(*
this, v.getType(),
"result", index++)))
1896 return ::mlir::failure();
1900 return emitOpError(
"failed to verify that all of {value, result} have same type");
1901 return ::mlir::success();
1908::llvm::LogicalResult
OldOp::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) {
1909 inferredReturnTypes.resize(1);
1910 ::mlir::Builder odsBuilder(context);
1911 if (operands.size() <= 0)
1912 return ::mlir::failure();
1913 ::mlir::Type odsInferredType0 = operands[0].getType();
1914 inferredReturnTypes[0] = odsInferredType0;
1915 return ::mlir::success();
1918::mlir::ParseResult
OldOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1919 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
1920 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
1921 (void)valueOperandsLoc;
1922 ::mlir::Type resultRawType{};
1923 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
1925 valueOperandsLoc = parser.getCurrentLocation();
1926 if (parser.parseOperand(valueRawOperand))
1927 return ::mlir::failure();
1928 if (parser.parseColon())
1929 return ::mlir::failure();
1933 if (parser.parseCustomTypeWithFallback(type))
1934 return ::mlir::failure();
1935 resultRawType = type;
1938 auto loc = parser.getCurrentLocation();(void)loc;
1939 if (parser.parseOptionalAttrDict(result.attributes))
1940 return ::mlir::failure();
1942 result.addTypes(resultTypes);
1943 if (parser.resolveOperands(valueOperands, resultTypes[0], valueOperandsLoc, result.operands))
1944 return ::mlir::failure();
1945 return ::mlir::success();
1951 _odsPrinter <<
' ' <<
":";
1955 if (
auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
1956 _odsPrinter.printStrippedAttrOrType(validType);
1958 _odsPrinter << type;
1960 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1961 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1964void OldOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1983 return ::mlir::success();
1987 odsState.addOperands(condition);
1990void RequireComputeOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
1991 odsState.addOperands(condition);
1992 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1993 odsState.addTypes(resultTypes);
1996void RequireComputeOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1997 assert(operands.size() == 1u &&
"mismatched number of parameters");
1998 odsState.addOperands(operands);
1999 odsState.addAttributes(attributes);
2000 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2001 odsState.addTypes(resultTypes);
2006 unsigned index = 0; (void)index;
2009 for (
auto v : valueGroup0) {
2010 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2011 return ::mlir::failure();
2014 return ::mlir::success();
2022 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
2023 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
2024 (void)conditionOperandsLoc;
2026 conditionOperandsLoc = parser.getCurrentLocation();
2027 if (parser.parseOperand(conditionRawOperand))
2028 return ::mlir::failure();
2030 auto loc = parser.getCurrentLocation();(void)loc;
2031 if (parser.parseOptionalAttrDict(result.attributes))
2032 return ::mlir::failure();
2034 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2035 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
2036 return ::mlir::failure();
2037 return ::mlir::success();
2043 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2044 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2050 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
2052 effects.emplace_back(::mlir::MemoryEffects::Write::get());
2070 return ::mlir::success();
2074 odsState.addOperands(condition);
2077void RequireConstrainOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
2078 odsState.addOperands(condition);
2079 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2080 odsState.addTypes(resultTypes);
2083void RequireConstrainOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2084 assert(operands.size() == 1u &&
"mismatched number of parameters");
2085 odsState.addOperands(operands);
2086 odsState.addAttributes(attributes);
2087 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2088 odsState.addTypes(resultTypes);
2093 unsigned index = 0; (void)index;
2096 for (
auto v : valueGroup0) {
2097 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2098 return ::mlir::failure();
2101 return ::mlir::success();
2109 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
2110 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
2111 (void)conditionOperandsLoc;
2113 conditionOperandsLoc = parser.getCurrentLocation();
2114 if (parser.parseOperand(conditionRawOperand))
2115 return ::mlir::failure();
2117 auto loc = parser.getCurrentLocation();(void)loc;
2118 if (parser.parseOptionalAttrDict(result.attributes))
2119 return ::mlir::failure();
2121 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2122 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
2123 return ::mlir::failure();
2124 return ::mlir::success();
2130 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2131 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2137 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
2139 effects.emplace_back(::mlir::MemoryEffects::Write::get());
2157 return ::mlir::success();
2160void StepOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState) {
2161 (void)odsState.addRegion();
2164void StepOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
2165 (void)odsState.addRegion();
2166 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2167 odsState.addTypes(resultTypes);
2170void StepOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2171 assert(operands.size() == 0u &&
"mismatched number of parameters");
2172 odsState.addOperands(operands);
2173 odsState.addAttributes(attributes);
2174 for (
unsigned i = 0; i != 1; ++i)
2175 (
void)odsState.addRegion();
2176 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2177 odsState.addTypes(resultTypes);
2182 unsigned index = 0; (void)index;
2184 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
2185 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops2(*
this, region,
"region", index++)))
2186 return ::mlir::failure();
2188 return ::mlir::success();
2195::mlir::ParseResult
StepOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2196 std::unique_ptr<::mlir::Region> regionRegion = std::make_unique<::mlir::Region>();
2198 if (parser.parseRegion(*regionRegion))
2199 return ::mlir::failure();
2201 if (regionRegion->empty()) regionRegion->emplaceBlock();
2203 auto loc = parser.getCurrentLocation();(void)loc;
2204 if (parser.parseOptionalAttrDict(result.attributes))
2205 return ::mlir::failure();
2207 result.addRegion(std::move(regionRegion));
2208 return ::mlir::success();
2214 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2215 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2221 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
2223 effects.emplace_back(::mlir::MemoryEffects::Write::get());
2241 return ::mlir::success();
2244void StepYieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
2245 odsState.addOperands(value);
2248void StepYieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
2249 odsState.addOperands(value);
2250 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2251 odsState.addTypes(resultTypes);
2254void StepYieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2255 assert(operands.size() == 1u &&
"mismatched number of parameters");
2256 odsState.addOperands(operands);
2257 odsState.addAttributes(attributes);
2258 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2259 odsState.addTypes(resultTypes);
2264 unsigned index = 0; (void)index;
2267 for (
auto v : valueGroup0) {
2268 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2269 return ::mlir::failure();
2272 return ::mlir::success();
2280 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
2281 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
2282 (void)valueOperandsLoc;
2284 valueOperandsLoc = parser.getCurrentLocation();
2285 if (parser.parseOperand(valueRawOperand))
2286 return ::mlir::failure();
2288 auto loc = parser.getCurrentLocation();(void)loc;
2289 if (parser.parseOptionalAttrDict(result.attributes))
2290 return ::mlir::failure();
2292 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2293 if (parser.resolveOperands(valueOperands, odsBuildableType0, valueOperandsLoc, result.operands))
2294 return ::mlir::failure();
2295 return ::mlir::success();
2301 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2302 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2321 return ::mlir::success();
2324void VerifAssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition) {
2325 odsState.addOperands(condition);
2328void VerifAssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
2329 odsState.addOperands(condition);
2330 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2331 odsState.addTypes(resultTypes);
2334void VerifAssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2335 assert(operands.size() == 1u &&
"mismatched number of parameters");
2336 odsState.addOperands(operands);
2337 odsState.addAttributes(attributes);
2338 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2339 odsState.addTypes(resultTypes);
2344 unsigned index = 0; (void)index;
2347 for (
auto v : valueGroup0) {
2348 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2349 return ::mlir::failure();
2352 return ::mlir::success();
2360 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
2361 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
2362 (void)conditionOperandsLoc;
2364 conditionOperandsLoc = parser.getCurrentLocation();
2365 if (parser.parseOperand(conditionRawOperand))
2366 return ::mlir::failure();
2368 auto loc = parser.getCurrentLocation();(void)loc;
2369 if (parser.parseOptionalAttrDict(result.attributes))
2370 return ::mlir::failure();
2372 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2373 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
2374 return ::mlir::failure();
2375 return ::mlir::success();
2381 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2382 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2388 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
2390 effects.emplace_back(::mlir::MemoryEffects::Write::get());
2408 return ::mlir::success();
2411void VerifProveOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition) {
2412 odsState.addOperands(condition);
2415void VerifProveOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
2416 odsState.addOperands(condition);
2417 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2418 odsState.addTypes(resultTypes);
2421void VerifProveOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2422 assert(operands.size() == 1u &&
"mismatched number of parameters");
2423 odsState.addOperands(operands);
2424 odsState.addAttributes(attributes);
2425 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2426 odsState.addTypes(resultTypes);
2431 unsigned index = 0; (void)index;
2434 for (
auto v : valueGroup0) {
2435 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2436 return ::mlir::failure();
2439 return ::mlir::success();
2447 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
2448 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
2449 (void)conditionOperandsLoc;
2451 conditionOperandsLoc = parser.getCurrentLocation();
2452 if (parser.parseOperand(conditionRawOperand))
2453 return ::mlir::failure();
2455 auto loc = parser.getCurrentLocation();(void)loc;
2456 if (parser.parseOptionalAttrDict(result.attributes))
2457 return ::mlir::failure();
2459 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2460 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
2461 return ::mlir::failure();
2462 return ::mlir::success();
2468 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2469 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2475 ::mlir::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects
2477 effects.emplace_back(::mlir::MemoryEffects::Write::get());
2495 return ::mlir::success();
2499 odsState.addOperands(condition);
2502void VerifSMTProveOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition) {
2503 odsState.addOperands(condition);
2504 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2505 odsState.addTypes(resultTypes);
2508void VerifSMTProveOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2509 assert(operands.size() == 1u &&
"mismatched number of parameters");
2510 odsState.addOperands(operands);
2511 odsState.addAttributes(attributes);
2512 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2513 odsState.addTypes(resultTypes);
2518 unsigned index = 0; (void)index;
2521 for (
auto v : valueGroup0) {
2522 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops6(*
this, v.getType(),
"operand", index++)))
2523 return ::mlir::failure();
2526 return ::mlir::success();
2534 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
2535 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
2536 (void)conditionOperandsLoc;
2538 conditionOperandsLoc = parser.getCurrentLocation();
2539 if (parser.parseOperand(conditionRawOperand))
2540 return ::mlir::failure();
2542 auto loc = parser.getCurrentLocation();(void)loc;
2543 if (parser.parseOptionalAttrDict(result.attributes))
2544 return ::mlir::failure();
2547 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
2548 return ::mlir::failure();
2549 return ::mlir::success();
2555 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2556 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
static FeltType get(::mlir::MLIRContext *context, ::mlir::StringAttr fieldName)
ContractEndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ContractEndOpAdaptor(ContractEndOp op)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
void print(::mlir::OpAsmPrinter &_odsPrinter)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
ContractOpAdaptor(ContractOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ContractOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getFunctionTypeAttrName()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::StringAttr getTargetAttrName()
void setFunctionType(::mlir::FunctionType attrValue)
::mlir::StringAttr getSymNameAttr()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verify()
::std::optional< ::mlir::ArrayAttr > getArgAttrs()
::mlir::FunctionType getFunctionType()
::mlir::StringAttr getSymNameAttrName()
::mlir::StringAttr getArgAttrsAttrName()
::mlir::TypeAttr getFunctionTypeAttr()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::SymbolRefAttr getTargetAttr()
::mlir::SymbolRefAttr getFullyQualifiedName(bool requireParent=true)
Return the full name for this contract from the root module, including all surrounding symbol table n...
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ArrayAttr getArgAttrsAttr()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
void setSymName(::llvm::StringRef attrValue)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::SymbolRefAttr getTarget()
FoldAdaptor::Properties Properties
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::SymbolRefAttr target, ::mlir::TypeAttr function_type, ::mlir::ArrayAttr arg_attrs={})
::llvm::StringRef getSymName()
DecreasesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DecreasesOpAdaptor(DecreasesOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::felt::FeltType > getValue()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
EnsureComputeOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
EnsureComputeOpAdaptor(EnsureComputeOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::llvm::LogicalResult verify(::mlir::Location loc)
EnsureConstrainOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
EnsureConstrainOpAdaptor(EnsureConstrainOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::llvm::LogicalResult verify(::mlir::Location loc)
IncludeOpAdaptor(IncludeOp op)
IncludeOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void setNumDimsPerMap(::llvm::ArrayRef< int32_t > attrValue)
::mlir::MutableOperandRange getArgOperandsMutable()
::mlir::ArrayAttr getTemplateParamsAttr()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verifyInvariantsImpl()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void setMapOpGroupSizes(::llvm::ArrayRef< int32_t > attrValue)
::mlir::OperandRangeRange getMapOperands()
::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::SymbolRefAttr getCalleeAttr()
FoldAdaptor::Properties Properties
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Operation::operand_range getArgOperands()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::SymbolRefAttr getCallee()
::mlir::StringAttr getCalleeAttrName()
::mlir::StringAttr getMapOpGroupSizesAttrName()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::MutableOperandRangeRange getMapOperandsMutable()
::std::optional< ::mlir::ArrayAttr > getTemplateParams()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::SymbolRefAttr callee, ::mlir::ValueRange argOperands={}, ::llvm::ArrayRef<::mlir::Attribute > templateParams={})
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
::mlir::StringAttr getNumDimsPerMapAttrName()
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
::llvm::LogicalResult verifyInvariants()
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
::mlir::StringAttr getTemplateParamsAttrName()
IncreasesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IncreasesOpAdaptor(IncreasesOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getValue()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
InvariantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
InvariantOpAdaptor(InvariantOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::StringAttr getLoopArgTypesAttrName()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
void setLoopName(::llvm::StringRef attrValue)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::ArrayAttr getLoopArgTypesAttr()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::ArrayAttr getLoopArgTypes()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::StringAttr getLoopNameAttr()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::StringRef getLoopName()
FoldAdaptor::Properties Properties
::llvm::LogicalResult verify()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getLoopNameAttrName()
::llvm::LogicalResult verify(::mlir::Location loc)
OldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::mlir::Type > getValue()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
RequireComputeOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RequireComputeOpAdaptor(RequireComputeOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
void print(::mlir::OpAsmPrinter &_odsPrinter)
RequireConstrainOpAdaptor(RequireConstrainOp op)
RequireConstrainOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::IntegerType > getCondition()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verify(::mlir::Location loc)
StepOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Region & getRegion()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
StepYieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
StepYieldOpAdaptor(StepYieldOp op)
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
::mlir::TypedValue<::mlir::IntegerType > getValue()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
VerifAssertOpAdaptor(VerifAssertOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
VerifAssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
VerifProveOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
VerifProveOpAdaptor(VerifProveOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
void print(::mlir::OpAsmPrinter &_odsPrinter)
VerifSMTProveOpAdaptor(VerifSMTProveOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
VerifSMTProveOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BoolType > getCondition()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::FunctionType getFunctionType()
::mlir::TypeAttr getFunctionTypeAttr()
::llvm::StringRef getSymName()
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
ContractOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ArrayAttr getArgAttrsAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::SymbolRefAttr getTargetAttr()
::std::optional< ::mlir::ArrayAttr > getArgAttrs()
::mlir::StringAttr getSymNameAttr()
::mlir::SymbolRefAttr getTarget()
::mlir::RegionRange getRegions()
::mlir::RegionRange odsRegions
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
::mlir::RegionRange odsRegions
::mlir::SymbolRefAttr getCalleeAttr()
::std::optional<::mlir::OperationName > odsOpName
::mlir::ArrayAttr getTemplateParamsAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::SymbolRefAttr getCallee()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
const Properties & getProperties()
::std::optional< ::mlir::ArrayAttr > getTemplateParams()
IncludeOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
::mlir::DictionaryAttr odsAttrs
const Properties & getProperties()
::mlir::RegionRange getRegions()
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::StringAttr getLoopNameAttr()
::mlir::RegionRange odsRegions
::mlir::ArrayAttr getLoopArgTypesAttr()
InvariantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ArrayAttr getLoopArgTypes()
::llvm::StringRef getLoopName()
void printTemplateParams(mlir::AsmPrinter &printer, mlir::ArrayAttr value)
mlir::ParseResult parseAttrDictWithWarnings(mlir::OpAsmParser &parser, mlir::NamedAttrList &extraAttrs, mlir::OperationState &state)
bool isValidType(Type type)
void printMultiDimAndSymbolList(mlir::OpAsmPrinter &printer, mlir::Operation *op, mlir::OperandRangeRange multiMapOperands, mlir::DenseI32ArrayAttr numDimsPerMap)
void printAttrDictWithWarnings(mlir::OpAsmPrinter &printer, ConcreteOp op, mlir::DictionaryAttr extraAttrs, typename mlir::PropertiesSelector< ConcreteOp >::type state)
mlir::ParseResult parseTemplateParams(mlir::AsmParser &parser, mlir::ArrayAttr &value)
mlir::ParseResult parseMultiDimAndSymbolList(mlir::OpAsmParser &parser, mlir::SmallVector< mlir::SmallVector< mlir::OpAsmParser::UnresolvedOperand > > &multiMapOperands, mlir::DenseI32ArrayAttr &numDimsPerMap)
function_typeTy function_type
operandSegmentSizesTy operandSegmentSizes
templateParamsTy templateParams
numDimsPerMapTy numDimsPerMap
mapOpGroupSizesTy mapOpGroupSizes
loop_arg_typesTy loop_arg_types