35static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
36 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
37 unsigned valueIndex) {
38 if (!((::llvm::isa<::llzk::array::ArrayType>(type)))) {
39 return op->emitOpError(valueKind) <<
" #" << valueIndex
40 <<
" must be n-dimensional array, but got " << type;
42 return ::mlir::success();
45static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops2(
46 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
47 unsigned valueIndex) {
48 if (!((type.isSignlessInteger(1)))) {
49 return op->emitOpError(valueKind) <<
" #" << valueIndex
50 <<
" must be 1-bit signless integer, but got " << type;
52 return ::mlir::success();
55static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops3(
56 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
57 unsigned valueIndex) {
58 if (!((::llvm::isa<llzk::polymorphic::TypeVarType,::mlir::IntegerType>(type)))) {
59 return op->emitOpError(valueKind) <<
" #" << valueIndex
60 <<
" must be 1-bit signless integer or type variable, but got " << type;
62 return ::mlir::success();
65static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops4(
66 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
67 unsigned valueIndex) {
68 if (!((::llvm::isa<::llzk::felt::FeltType>(type)))) {
69 return op->emitOpError(valueKind) <<
" #" << valueIndex
70 <<
" must be finite field element, but got " << type;
72 return ::mlir::success();
75static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
76 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
77 if (attr && !((::llvm::isa<::mlir::StringAttr>(attr))))
78 return emitError() <<
"attribute '" << attrName
79 <<
"' failed to satisfy constraint: string attribute";
80 return ::mlir::success();
82static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
83 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
84 return __mlir_ods_local_attr_constraint_Ops1(attr, attrName, [op]() {
85 return op->emitOpError();
89static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
90 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
91 if (attr && !((::llvm::isa<::llzk::boolean::FeltCmpPredicateAttr>(attr))))
92 return emitError() <<
"attribute '" << attrName
93 <<
"' failed to satisfy constraint: Field element comparison predicate";
94 return ::mlir::success();
96static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
97 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
98 return __mlir_ods_local_attr_constraint_Ops2(attr, attrName, [op]() {
99 return op->emitOpError();
103static ::llvm::LogicalResult __mlir_ods_local_region_constraint_Ops1(
104 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
105 unsigned regionIndex) {
106 if (!((::llvm::hasNItems(region, 1)))) {
107 return op->emitOpError(
"region #") << regionIndex
108 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
109 <<
"failed to verify constraint: region with 1 blocks";
111 return ::mlir::success();
127 return ::mlir::success();
130void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort) {
131 odsState.addOperands(sort);
132 (void)odsState.addRegion();
133 odsState.addTypes(result);
136void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort) {
137 odsState.addOperands(sort);
138 (void)odsState.addRegion();
140 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
142 odsState.location, odsState.operands,
143 odsState.attributes.getDictionary(odsState.getContext()),
144 odsState.getRawProperties(),
145 odsState.regions, inferredReturnTypes)))
146 odsState.addTypes(inferredReturnTypes);
148 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
152void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
153 odsState.addOperands(sort);
154 (void)odsState.addRegion();
155 assert(resultTypes.size() == 1u &&
"mismatched number of results");
156 odsState.addTypes(resultTypes);
159void ExistsOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
160 assert(operands.size() == 1u &&
"mismatched number of parameters");
161 odsState.addOperands(operands);
162 odsState.addAttributes(attributes);
163 for (
unsigned i = 0; i != 1; ++i)
164 (
void)odsState.addRegion();
165 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
166 odsState.addTypes(resultTypes);
169void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
170 assert(operands.size() == 1u &&
"mismatched number of parameters");
171 odsState.addOperands(operands);
172 odsState.addAttributes(attributes);
173 for (
unsigned i = 0; i != 1; ++i)
174 (
void)odsState.addRegion();
176 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
178 odsState.location, operands,
179 odsState.attributes.getDictionary(odsState.getContext()),
180 odsState.getRawProperties(),
181 odsState.regions, inferredReturnTypes))) {
182 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
183 odsState.addTypes(inferredReturnTypes);
185 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
191 unsigned index = 0; (void)index;
194 for (
auto v : valueGroup0) {
195 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
196 return ::mlir::failure();
200 unsigned index = 0; (void)index;
203 for (
auto v : valueGroup0) {
204 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
205 return ::mlir::failure();
209 unsigned index = 0; (void)index;
211 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
212 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops1(*
this, region,
"region", index++)))
213 return ::mlir::failure();
215 return ::mlir::success();
220 return ::mlir::success();
221 return ::mlir::failure();
224::llvm::LogicalResult
ExistsOp::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) {
225 inferredReturnTypes.resize(1);
226 ::mlir::Builder odsBuilder(context);
227 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
228 inferredReturnTypes[0] = odsInferredType0;
229 return ::mlir::success();
232void ExistsOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
251 return ::mlir::success();
254void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort) {
255 odsState.addOperands(sort);
256 (void)odsState.addRegion();
257 odsState.addTypes(result);
260void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort) {
261 odsState.addOperands(sort);
262 (void)odsState.addRegion();
264 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
266 odsState.location, odsState.operands,
267 odsState.attributes.getDictionary(odsState.getContext()),
268 odsState.getRawProperties(),
269 odsState.regions, inferredReturnTypes)))
270 odsState.addTypes(inferredReturnTypes);
272 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
276void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
277 odsState.addOperands(sort);
278 (void)odsState.addRegion();
279 assert(resultTypes.size() == 1u &&
"mismatched number of results");
280 odsState.addTypes(resultTypes);
283void ForAllOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
284 assert(operands.size() == 1u &&
"mismatched number of parameters");
285 odsState.addOperands(operands);
286 odsState.addAttributes(attributes);
287 for (
unsigned i = 0; i != 1; ++i)
288 (
void)odsState.addRegion();
289 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
290 odsState.addTypes(resultTypes);
293void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
294 assert(operands.size() == 1u &&
"mismatched number of parameters");
295 odsState.addOperands(operands);
296 odsState.addAttributes(attributes);
297 for (
unsigned i = 0; i != 1; ++i)
298 (
void)odsState.addRegion();
300 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
302 odsState.location, operands,
303 odsState.attributes.getDictionary(odsState.getContext()),
304 odsState.getRawProperties(),
305 odsState.regions, inferredReturnTypes))) {
306 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
307 odsState.addTypes(inferredReturnTypes);
309 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
315 unsigned index = 0; (void)index;
318 for (
auto v : valueGroup0) {
319 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
320 return ::mlir::failure();
324 unsigned index = 0; (void)index;
327 for (
auto v : valueGroup0) {
328 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
329 return ::mlir::failure();
333 unsigned index = 0; (void)index;
335 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
336 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops1(*
this, region,
"region", index++)))
337 return ::mlir::failure();
339 return ::mlir::success();
344 return ::mlir::success();
345 return ::mlir::failure();
348::llvm::LogicalResult
ForAllOp::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) {
349 inferredReturnTypes.resize(1);
350 ::mlir::Builder odsBuilder(context);
351 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
352 inferredReturnTypes[0] = odsInferredType0;
353 return ::mlir::success();
356void ForAllOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
375 return ::mlir::success();
378void AndBoolOp::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 AndBoolOp::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 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
400void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
401 odsState.addOperands(lhs);
402 odsState.addOperands(rhs);
403 assert(resultTypes.size() == 1u &&
"mismatched number of results");
404 odsState.addTypes(resultTypes);
407void AndBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
408 assert(operands.size() == 2u &&
"mismatched number of parameters");
409 odsState.addOperands(operands);
410 odsState.addAttributes(attributes);
411 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
412 odsState.addTypes(resultTypes);
415void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
416 assert(operands.size() == 2u &&
"mismatched number of parameters");
417 odsState.addOperands(operands);
418 odsState.addAttributes(attributes);
420 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
422 odsState.location, operands,
423 odsState.attributes.getDictionary(odsState.getContext()),
424 odsState.getRawProperties(),
425 odsState.regions, inferredReturnTypes))) {
426 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
427 odsState.addTypes(inferredReturnTypes);
429 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
435 unsigned index = 0; (void)index;
438 for (
auto v : valueGroup0) {
439 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
440 return ::mlir::failure();
444 for (
auto v : valueGroup1) {
445 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
446 return ::mlir::failure();
450 unsigned index = 0; (void)index;
453 for (
auto v : valueGroup0) {
454 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
455 return ::mlir::failure();
459 return emitOpError(
"failed to verify that result type matches with lhs type");
461 return emitOpError(
"failed to verify that result type matches with rhs type");
462 return ::mlir::success();
469::llvm::LogicalResult
AndBoolOp::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) {
470 inferredReturnTypes.resize(1);
471 ::mlir::Builder odsBuilder(context);
472 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
473 inferredReturnTypes[0] = odsInferredType0;
474 return ::mlir::success();
477::mlir::ParseResult
AndBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
478 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
479 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
480 (void)lhsOperandsLoc;
481 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
482 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
483 (void)rhsOperandsLoc;
484 ::mlir::Type lhsRawType{};
485 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
486 ::mlir::Type rhsRawType{};
487 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
489 lhsOperandsLoc = parser.getCurrentLocation();
490 if (parser.parseOperand(lhsRawOperand))
491 return ::mlir::failure();
492 if (parser.parseComma())
493 return ::mlir::failure();
495 rhsOperandsLoc = parser.getCurrentLocation();
496 if (parser.parseOperand(rhsRawOperand))
497 return ::mlir::failure();
499 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
500 if (odsResult) return ::mlir::failure();
503 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
504 if (odsResult) return ::mlir::failure();
507 auto loc = parser.getCurrentLocation();(void)loc;
508 if (parser.parseOptionalAttrDict(result.attributes))
509 return ::mlir::failure();
511 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
512 result.addTypes(odsBuildableType0);
513 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
514 return ::mlir::failure();
515 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
516 return ::mlir::failure();
517 return ::mlir::success();
526 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
527 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
528 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
529 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
532void AndBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
551 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
560 if (tblgen_msg && !((::llvm::isa<::mlir::StringAttr>(tblgen_msg))))
561 return emitError(loc,
"'bool.assert' op ""attribute 'msg' failed to satisfy constraint: string attribute");
562 return ::mlir::success();
566 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
568 emitError() <<
"expected DictionaryAttr to set properties";
569 return ::mlir::failure();
573 auto &propStorage = prop.
msg;
574 auto attr = dict.get(
"msg");
576 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
578 propStorage = convertedAttr;
580 emitError() <<
"Invalid attribute `msg` in property conversion: " << attr;
581 return ::mlir::failure();
585 return ::mlir::success();
589 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
590 ::mlir::Builder odsBuilder{ctx};
593 const auto &propStorage = prop.
msg;
595 attrs.push_back(odsBuilder.getNamedAttr(
"msg",
600 return odsBuilder.getDictionaryAttr(attrs);
605 return llvm::hash_combine(
606 llvm::hash_value(prop.
msg.getAsOpaquePointer()));
617 prop.
msg = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
msg)>>(value);
623 if (prop.
msg) attrs.append(
"msg", prop.
msg);
626::llvm::LogicalResult
AssertOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
629 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(attr,
"msg", emitError)))
630 return ::mlir::failure();
632 return ::mlir::success();
636 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
637 if (::mlir::failed(reader.readOptionalAttribute(prop.
msg)))
638 return ::mlir::failure();
639 return ::mlir::success();
643 auto &prop = getProperties(); (void)prop;
645 writer.writeOptionalAttribute(prop.
msg);
650 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
654 auto &odsProp = getProperties().msg;
656 odsProp = ::mlir::Builder((*this)->getContext()).getStringAttr(*attrValue);
661void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg) {
662 odsState.addOperands(condition);
664 odsState.getOrAddProperties<
Properties>().msg = msg;
668void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg) {
669 odsState.addOperands(condition);
671 odsState.getOrAddProperties<
Properties>().msg = msg;
673 assert(resultTypes.size() == 0u &&
"mismatched number of results");
674 odsState.addTypes(resultTypes);
677void AssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
678 assert(operands.size() == 1u &&
"mismatched number of parameters");
679 odsState.addOperands(operands);
680 odsState.addAttributes(attributes);
681 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
682 odsState.addTypes(resultTypes);
684 if (!attributes.empty()) {
685 ::mlir::OpaqueProperties properties =
687 std::optional<::mlir::RegisteredOperationName> info =
688 odsState.name.getRegisteredInfo();
689 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
690 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
691 ::llvm::report_fatal_error(
"Property conversion failed.");
696 auto tblgen_msg = getProperties().msg; (void)tblgen_msg;
698 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(*
this, tblgen_msg,
"msg")))
699 return ::mlir::failure();
701 unsigned index = 0; (void)index;
704 for (
auto v : valueGroup0) {
705 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
706 return ::mlir::failure();
709 return ::mlir::success();
716::mlir::ParseResult
AssertOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
717 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
718 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
719 (void)conditionOperandsLoc;
720 ::mlir::StringAttr msgAttr;
722 conditionOperandsLoc = parser.getCurrentLocation();
723 if (parser.parseOperand(conditionRawOperand))
724 return ::mlir::failure();
725 if (::mlir::succeeded(parser.parseOptionalComma())) {
727 if (parser.parseCustomAttributeWithFallback(msgAttr, parser.getBuilder().getType<::mlir::NoneType>())) {
728 return ::mlir::failure();
733 auto loc = parser.getCurrentLocation();(void)loc;
734 if (parser.parseOptionalAttrDict(result.attributes))
735 return ::mlir::failure();
737 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
739 return ::mlir::failure();
741 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
742 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
743 return ::mlir::failure();
744 return ::mlir::success();
753 _odsPrinter.printAttributeWithoutType(
getMsgAttr());
755 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
756 elidedAttrs.push_back(
"msg");
757 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
776 return attr.getValue();
784 if (!tblgen_predicate)
return emitError(loc,
"'bool.cmp' op ""requires attribute 'predicate'");
786 if (tblgen_predicate && !((::llvm::isa<::llzk::boolean::FeltCmpPredicateAttr>(tblgen_predicate))))
787 return emitError(loc,
"'bool.cmp' op ""attribute 'predicate' failed to satisfy constraint: Field element comparison predicate");
788 return ::mlir::success();
792 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
794 emitError() <<
"expected DictionaryAttr to set properties";
795 return ::mlir::failure();
800 auto attr = dict.get(
"predicate");
802 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
804 propStorage = convertedAttr;
806 emitError() <<
"Invalid attribute `predicate` in property conversion: " << attr;
807 return ::mlir::failure();
811 return ::mlir::success();
815 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
816 ::mlir::Builder odsBuilder{ctx};
819 const auto &propStorage = prop.
predicate;
821 attrs.push_back(odsBuilder.getNamedAttr(
"predicate",
826 return odsBuilder.getDictionaryAttr(attrs);
831 return llvm::hash_combine(
832 llvm::hash_value(prop.
predicate.getAsOpaquePointer()));
836 if (name ==
"predicate")
842 if (name ==
"predicate") {
843 prop.
predicate = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
predicate)>>(value);
852::llvm::LogicalResult
CmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
855 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(attr,
"predicate", emitError)))
856 return ::mlir::failure();
858 return ::mlir::success();
862 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
863 if (::mlir::failed(reader.readAttribute(prop.
predicate)))
864 return ::mlir::failure();
865 return ::mlir::success();
869 auto &prop = getProperties(); (void)prop;
875 return attr.getValue();
879 getProperties().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(::mlir::Builder((*this)->getContext()).getContext(), attrValue);
882void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
883 odsState.addOperands(lhs);
884 odsState.addOperands(rhs);
885 odsState.getOrAddProperties<
Properties>().predicate = predicate;
886 odsState.addTypes(result);
889void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
890 odsState.addOperands(lhs);
891 odsState.addOperands(rhs);
892 odsState.getOrAddProperties<
Properties>().predicate = predicate;
894 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
896 odsState.location, odsState.operands,
897 odsState.attributes.getDictionary(odsState.getContext()),
898 odsState.getRawProperties(),
899 odsState.regions, inferredReturnTypes)))
900 odsState.addTypes(inferredReturnTypes);
902 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
906void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
907 odsState.addOperands(lhs);
908 odsState.addOperands(rhs);
909 odsState.getOrAddProperties<
Properties>().predicate = predicate;
910 assert(resultTypes.size() == 1u &&
"mismatched number of results");
911 odsState.addTypes(resultTypes);
915 odsState.addOperands(lhs);
916 odsState.addOperands(rhs);
917 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
918 odsState.addTypes(result);
922 odsState.addOperands(lhs);
923 odsState.addOperands(rhs);
924 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
926 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
928 odsState.location, odsState.operands,
929 odsState.attributes.getDictionary(odsState.getContext()),
930 odsState.getRawProperties(),
931 odsState.regions, inferredReturnTypes)))
932 odsState.addTypes(inferredReturnTypes);
934 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
939 odsState.addOperands(lhs);
940 odsState.addOperands(rhs);
941 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
942 assert(resultTypes.size() == 1u &&
"mismatched number of results");
943 odsState.addTypes(resultTypes);
946void CmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
947 assert(operands.size() == 2u &&
"mismatched number of parameters");
948 odsState.addOperands(operands);
949 odsState.addAttributes(attributes);
950 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
951 odsState.addTypes(resultTypes);
953 if (!attributes.empty()) {
954 ::mlir::OpaqueProperties properties =
956 std::optional<::mlir::RegisteredOperationName> info =
957 odsState.name.getRegisteredInfo();
958 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
959 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
960 ::llvm::report_fatal_error(
"Property conversion failed.");
964void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
965 assert(operands.size() == 2u &&
"mismatched number of parameters");
966 odsState.addOperands(operands);
967 odsState.addAttributes(attributes);
969 if (!attributes.empty()) {
970 ::mlir::OpaqueProperties properties =
972 std::optional<::mlir::RegisteredOperationName> info =
973 odsState.name.getRegisteredInfo();
974 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
975 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
976 ::llvm::report_fatal_error(
"Property conversion failed.");
978 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
980 odsState.location, operands,
981 odsState.attributes.getDictionary(odsState.getContext()),
982 odsState.getRawProperties(),
983 odsState.regions, inferredReturnTypes))) {
984 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
985 odsState.addTypes(inferredReturnTypes);
987 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
992 auto tblgen_predicate = getProperties().predicate; (void)tblgen_predicate;
993 if (!tblgen_predicate)
return emitOpError(
"requires attribute 'predicate'");
995 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(*
this, tblgen_predicate,
"predicate")))
996 return ::mlir::failure();
998 unsigned index = 0; (void)index;
1001 for (
auto v : valueGroup0) {
1002 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops4(*
this, v.getType(),
"operand", index++)))
1003 return ::mlir::failure();
1007 for (
auto v : valueGroup1) {
1008 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops4(*
this, v.getType(),
"operand", index++)))
1009 return ::mlir::failure();
1013 unsigned index = 0; (void)index;
1016 for (
auto v : valueGroup0) {
1017 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
1018 return ::mlir::failure();
1022 return emitOpError(
"failed to verify that rhs type matches with lhs type");
1023 return ::mlir::success();
1030::llvm::LogicalResult
CmpOp::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) {
1031 inferredReturnTypes.resize(1);
1032 ::mlir::Builder odsBuilder(context);
1033 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
1034 inferredReturnTypes[0] = odsInferredType0;
1035 return ::mlir::success();
1038::mlir::ParseResult
CmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1039 ::llzk::boolean::FeltCmpPredicateAttr predicateAttr;
1040 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1041 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1042 (void)lhsOperandsLoc;
1043 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1044 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1045 (void)rhsOperandsLoc;
1046 ::mlir::Type lhsRawType{};
1047 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
1048 ::mlir::Type rhsRawType{};
1049 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
1051 if (parser.parseCustomAttributeWithFallback(predicateAttr, ::mlir::Type{})) {
1052 return ::mlir::failure();
1054 if (predicateAttr) result.getOrAddProperties<
CmpOp::Properties>().predicate = predicateAttr;
1055 if (parser.parseLParen())
1056 return ::mlir::failure();
1058 lhsOperandsLoc = parser.getCurrentLocation();
1059 if (parser.parseOperand(lhsRawOperand))
1060 return ::mlir::failure();
1061 if (parser.parseComma())
1062 return ::mlir::failure();
1064 rhsOperandsLoc = parser.getCurrentLocation();
1065 if (parser.parseOperand(rhsRawOperand))
1066 return ::mlir::failure();
1067 if (parser.parseRParen())
1068 return ::mlir::failure();
1070 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
1071 if (odsResult) return ::mlir::failure();
1074 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
1075 if (odsResult) return ::mlir::failure();
1078 auto loc = parser.getCurrentLocation();(void)loc;
1079 if (parser.parseOptionalAttrDict(result.attributes))
1080 return ::mlir::failure();
1082 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1084 return ::mlir::failure();
1086 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1087 result.addTypes(odsBuildableType0);
1088 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1089 return ::mlir::failure();
1090 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1091 return ::mlir::failure();
1092 return ::mlir::success();
1103 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
1104 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
1105 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1106 elidedAttrs.push_back(
"predicate");
1107 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1110void CmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1129 return ::mlir::success();
1132void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand) {
1133 odsState.addOperands(operand);
1134 odsState.addTypes(result);
1137void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand) {
1138 odsState.addOperands(operand);
1140 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1142 odsState.location, odsState.operands,
1143 odsState.attributes.getDictionary(odsState.getContext()),
1144 odsState.getRawProperties(),
1145 odsState.regions, inferredReturnTypes)))
1146 odsState.addTypes(inferredReturnTypes);
1148 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1152void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand) {
1153 odsState.addOperands(operand);
1154 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1155 odsState.addTypes(resultTypes);
1158void NotBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1159 assert(operands.size() == 1u &&
"mismatched number of parameters");
1160 odsState.addOperands(operands);
1161 odsState.addAttributes(attributes);
1162 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1163 odsState.addTypes(resultTypes);
1166void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1167 assert(operands.size() == 1u &&
"mismatched number of parameters");
1168 odsState.addOperands(operands);
1169 odsState.addAttributes(attributes);
1171 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1173 odsState.location, operands,
1174 odsState.attributes.getDictionary(odsState.getContext()),
1175 odsState.getRawProperties(),
1176 odsState.regions, inferredReturnTypes))) {
1177 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1178 odsState.addTypes(inferredReturnTypes);
1180 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1186 unsigned index = 0; (void)index;
1189 for (
auto v : valueGroup0) {
1190 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1191 return ::mlir::failure();
1195 unsigned index = 0; (void)index;
1198 for (
auto v : valueGroup0) {
1199 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
1200 return ::mlir::failure();
1204 return emitOpError(
"failed to verify that result type matches with operand type");
1205 return ::mlir::success();
1212::llvm::LogicalResult
NotBoolOp::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) {
1213 inferredReturnTypes.resize(1);
1214 ::mlir::Builder odsBuilder(context);
1215 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
1216 inferredReturnTypes[0] = odsInferredType0;
1217 return ::mlir::success();
1220::mlir::ParseResult
NotBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1221 ::mlir::OpAsmParser::UnresolvedOperand operandRawOperand{};
1222 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> operandOperands(&operandRawOperand, 1); ::llvm::SMLoc operandOperandsLoc;
1223 (void)operandOperandsLoc;
1224 ::mlir::Type operandRawType{};
1225 ::llvm::ArrayRef<::mlir::Type> operandTypes(&operandRawType, 1);
1227 operandOperandsLoc = parser.getCurrentLocation();
1228 if (parser.parseOperand(operandRawOperand))
1229 return ::mlir::failure();
1231 auto odsResult = parseInferredOrParsedType(parser, operandRawType,
true);
1232 if (odsResult) return ::mlir::failure();
1235 auto loc = parser.getCurrentLocation();(void)loc;
1236 if (parser.parseOptionalAttrDict(result.attributes))
1237 return ::mlir::failure();
1239 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1240 result.addTypes(odsBuildableType0);
1241 if (parser.resolveOperands(operandOperands, operandTypes, operandOperandsLoc, result.operands))
1242 return ::mlir::failure();
1243 return ::mlir::success();
1249 printInferredOrParsedType(_odsPrinter, *
this,
getOperand().getType(),
true);
1250 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1251 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1254void NotBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1273 return ::mlir::success();
1276void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1277 odsState.addOperands(lhs);
1278 odsState.addOperands(rhs);
1279 odsState.addTypes(result);
1282void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1283 odsState.addOperands(lhs);
1284 odsState.addOperands(rhs);
1286 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1288 odsState.location, odsState.operands,
1289 odsState.attributes.getDictionary(odsState.getContext()),
1290 odsState.getRawProperties(),
1291 odsState.regions, inferredReturnTypes)))
1292 odsState.addTypes(inferredReturnTypes);
1294 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1298void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1299 odsState.addOperands(lhs);
1300 odsState.addOperands(rhs);
1301 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1302 odsState.addTypes(resultTypes);
1305void OrBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1306 assert(operands.size() == 2u &&
"mismatched number of parameters");
1307 odsState.addOperands(operands);
1308 odsState.addAttributes(attributes);
1309 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1310 odsState.addTypes(resultTypes);
1313void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1314 assert(operands.size() == 2u &&
"mismatched number of parameters");
1315 odsState.addOperands(operands);
1316 odsState.addAttributes(attributes);
1318 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1320 odsState.location, operands,
1321 odsState.attributes.getDictionary(odsState.getContext()),
1322 odsState.getRawProperties(),
1323 odsState.regions, inferredReturnTypes))) {
1324 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1325 odsState.addTypes(inferredReturnTypes);
1327 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1333 unsigned index = 0; (void)index;
1336 for (
auto v : valueGroup0) {
1337 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1338 return ::mlir::failure();
1342 for (
auto v : valueGroup1) {
1343 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1344 return ::mlir::failure();
1348 unsigned index = 0; (void)index;
1351 for (
auto v : valueGroup0) {
1352 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
1353 return ::mlir::failure();
1357 return emitOpError(
"failed to verify that result type matches with lhs type");
1359 return emitOpError(
"failed to verify that result type matches with rhs type");
1360 return ::mlir::success();
1367::llvm::LogicalResult
OrBoolOp::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) {
1368 inferredReturnTypes.resize(1);
1369 ::mlir::Builder odsBuilder(context);
1370 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
1371 inferredReturnTypes[0] = odsInferredType0;
1372 return ::mlir::success();
1375::mlir::ParseResult
OrBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1376 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1377 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1378 (void)lhsOperandsLoc;
1379 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1380 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1381 (void)rhsOperandsLoc;
1382 ::mlir::Type lhsRawType{};
1383 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
1384 ::mlir::Type rhsRawType{};
1385 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
1387 lhsOperandsLoc = parser.getCurrentLocation();
1388 if (parser.parseOperand(lhsRawOperand))
1389 return ::mlir::failure();
1390 if (parser.parseComma())
1391 return ::mlir::failure();
1393 rhsOperandsLoc = parser.getCurrentLocation();
1394 if (parser.parseOperand(rhsRawOperand))
1395 return ::mlir::failure();
1397 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
1398 if (odsResult) return ::mlir::failure();
1401 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
1402 if (odsResult) return ::mlir::failure();
1405 auto loc = parser.getCurrentLocation();(void)loc;
1406 if (parser.parseOptionalAttrDict(result.attributes))
1407 return ::mlir::failure();
1409 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1410 result.addTypes(odsBuildableType0);
1411 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1412 return ::mlir::failure();
1413 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1414 return ::mlir::failure();
1415 return ::mlir::success();
1424 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
1425 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
1426 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1427 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1430void OrBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1449 return ::mlir::success();
1452void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1453 odsState.addOperands(lhs);
1454 odsState.addOperands(rhs);
1455 odsState.addTypes(result);
1458void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1459 odsState.addOperands(lhs);
1460 odsState.addOperands(rhs);
1462 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1464 odsState.location, odsState.operands,
1465 odsState.attributes.getDictionary(odsState.getContext()),
1466 odsState.getRawProperties(),
1467 odsState.regions, inferredReturnTypes)))
1468 odsState.addTypes(inferredReturnTypes);
1470 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1474void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1475 odsState.addOperands(lhs);
1476 odsState.addOperands(rhs);
1477 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1478 odsState.addTypes(resultTypes);
1481void XorBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1482 assert(operands.size() == 2u &&
"mismatched number of parameters");
1483 odsState.addOperands(operands);
1484 odsState.addAttributes(attributes);
1485 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1486 odsState.addTypes(resultTypes);
1489void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1490 assert(operands.size() == 2u &&
"mismatched number of parameters");
1491 odsState.addOperands(operands);
1492 odsState.addAttributes(attributes);
1494 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1496 odsState.location, operands,
1497 odsState.attributes.getDictionary(odsState.getContext()),
1498 odsState.getRawProperties(),
1499 odsState.regions, inferredReturnTypes))) {
1500 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1501 odsState.addTypes(inferredReturnTypes);
1503 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1509 unsigned index = 0; (void)index;
1512 for (
auto v : valueGroup0) {
1513 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1514 return ::mlir::failure();
1518 for (
auto v : valueGroup1) {
1519 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
1520 return ::mlir::failure();
1524 unsigned index = 0; (void)index;
1527 for (
auto v : valueGroup0) {
1528 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
1529 return ::mlir::failure();
1533 return emitOpError(
"failed to verify that result type matches with lhs type");
1535 return emitOpError(
"failed to verify that result type matches with rhs type");
1536 return ::mlir::success();
1543::llvm::LogicalResult
XorBoolOp::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) {
1544 inferredReturnTypes.resize(1);
1545 ::mlir::Builder odsBuilder(context);
1546 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
1547 inferredReturnTypes[0] = odsInferredType0;
1548 return ::mlir::success();
1551::mlir::ParseResult
XorBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1552 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1553 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1554 (void)lhsOperandsLoc;
1555 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1556 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1557 (void)rhsOperandsLoc;
1558 ::mlir::Type lhsRawType{};
1559 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
1560 ::mlir::Type rhsRawType{};
1561 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
1563 lhsOperandsLoc = parser.getCurrentLocation();
1564 if (parser.parseOperand(lhsRawOperand))
1565 return ::mlir::failure();
1566 if (parser.parseComma())
1567 return ::mlir::failure();
1569 rhsOperandsLoc = parser.getCurrentLocation();
1570 if (parser.parseOperand(rhsRawOperand))
1571 return ::mlir::failure();
1573 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
1574 if (odsResult) return ::mlir::failure();
1577 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
1578 if (odsResult) return ::mlir::failure();
1581 auto loc = parser.getCurrentLocation();(void)loc;
1582 if (parser.parseOptionalAttrDict(result.attributes))
1583 return ::mlir::failure();
1585 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1586 result.addTypes(odsBuildableType0);
1587 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1588 return ::mlir::failure();
1589 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1590 return ::mlir::failure();
1591 return ::mlir::success();
1600 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
1601 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
1602 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1603 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1606void XorBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1625 return ::mlir::success();
1628void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
1629 odsState.addOperands(value);
1632void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
1633 odsState.addOperands(value);
1634 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1635 odsState.addTypes(resultTypes);
1638void YieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1639 assert(operands.size() == 1u &&
"mismatched number of parameters");
1640 odsState.addOperands(operands);
1641 odsState.addAttributes(attributes);
1642 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1643 odsState.addTypes(resultTypes);
1648 unsigned index = 0; (void)index;
1651 for (
auto v : valueGroup0) {
1652 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
1653 return ::mlir::failure();
1656 return ::mlir::success();
1663::mlir::ParseResult
YieldOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1664 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
1665 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
1666 (void)valueOperandsLoc;
1668 valueOperandsLoc = parser.getCurrentLocation();
1669 if (parser.parseOperand(valueRawOperand))
1670 return ::mlir::failure();
1672 auto loc = parser.getCurrentLocation();(void)loc;
1673 if (parser.parseOptionalAttrDict(result.attributes))
1674 return ::mlir::failure();
1676 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1677 if (parser.resolveOperands(valueOperands, odsBuildableType0, valueOperandsLoc, result.operands))
1678 return ::mlir::failure();
1679 return ::mlir::success();
1685 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1686 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1690 ::mlir::RegionBranchPoint point) {
1691 return ::mlir::MutableOperandRange(*
this);
::llvm::LogicalResult verify(::mlir::Location loc)
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndBoolOpAdaptor(AndBoolOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariantsImpl()
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
AssertOpAdaptor(AssertOp op)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::mlir::IntegerType > getCondition()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::std::optional< ::llvm::StringRef > getMsg()
::mlir::StringAttr getMsgAttr()
void setMsg(::std::optional<::llvm::StringRef > attrValue)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getMsgAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult verify(::mlir::Location loc)
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::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, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::felt::FeltType > getLhs()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::StringAttr getPredicateAttrName()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::boolean::FeltCmpPredicate getPredicate()
::llvm::LogicalResult verifyInvariantsImpl()
void setPredicate(::llzk::boolean::FeltCmpPredicate attrValue)
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
FoldAdaptor::Properties Properties
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::felt::FeltType > getRhs()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ExistsOpAdaptor(ExistsOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verify()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::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)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort)
::llvm::LogicalResult verify(::mlir::Location loc)
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ForAllOpAdaptor(ForAllOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort)
::llvm::LogicalResult verify()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NotBoolOpAdaptor(NotBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getOperand()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
OrBoolOpAdaptor(OrBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::mlir::Type > getLhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
XorBoolOpAdaptor(XorBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getLhs()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verify(::mlir::Location loc)
YieldOpAdaptor(YieldOp op)
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::TypedValue<::mlir::IntegerType > getValue()
::mlir::MutableOperandRange getMutableSuccessorOperands(::mlir::RegionBranchPoint point)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getMsgAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
::std::optional< ::llvm::StringRef > getMsg()
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
CmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::llzk::boolean::FeltCmpPredicate getPredicate()
const Properties & getProperties()
bool typesUnify(Type lhs, Type rhs, ArrayRef< StringRef > rhsReversePrefix, UnificationMap *unifications)