33static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
34 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
35 unsigned valueIndex) {
36 if (!((::llvm::isa<::llzk::array::ArrayType>(type)))) {
37 return op->emitOpError(valueKind) <<
" #" << valueIndex
38 <<
" must be n-dimensional array, but got " << type;
40 return ::mlir::success();
43static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops2(
44 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
45 unsigned valueIndex) {
46 if (!((type.isSignlessInteger(1)))) {
47 return op->emitOpError(valueKind) <<
" #" << valueIndex
48 <<
" must be 1-bit signless integer, but got " << type;
50 return ::mlir::success();
53static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops3(
54 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
55 unsigned valueIndex) {
56 if (!((::llvm::isa<llzk::polymorphic::TypeVarType,::mlir::IntegerType>(type)))) {
57 return op->emitOpError(valueKind) <<
" #" << valueIndex
58 <<
" must be 1-bit signless integer or type variable, but got " << type;
60 return ::mlir::success();
63static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops4(
64 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
65 unsigned valueIndex) {
66 if (!((::llvm::isa<::llzk::felt::FeltType>(type)))) {
67 return op->emitOpError(valueKind) <<
" #" << valueIndex
68 <<
" must be finite field element, but got " << type;
70 return ::mlir::success();
73static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
74 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
75 if (attr && !((::llvm::isa<::mlir::StringAttr>(attr))))
76 return emitError() <<
"attribute '" << attrName
77 <<
"' failed to satisfy constraint: string attribute";
78 return ::mlir::success();
80static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops1(
81 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
82 return __mlir_ods_local_attr_constraint_Ops1(attr, attrName, [op]() {
83 return op->emitOpError();
87static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
88 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
89 if (attr && !((::llvm::isa<::llzk::boolean::FeltCmpPredicateAttr>(attr))))
90 return emitError() <<
"attribute '" << attrName
91 <<
"' failed to satisfy constraint: Field element comparison predicate";
92 return ::mlir::success();
94static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_Ops2(
95 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
96 return __mlir_ods_local_attr_constraint_Ops2(attr, attrName, [op]() {
97 return op->emitOpError();
101static ::llvm::LogicalResult __mlir_ods_local_region_constraint_Ops1(
102 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
103 unsigned regionIndex) {
104 if (!((::llvm::hasNItems(region, 1)))) {
105 return op->emitOpError(
"region #") << regionIndex
106 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
107 <<
"failed to verify constraint: region with 1 blocks";
109 return ::mlir::success();
127 return ::mlir::success();
131 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
133 emitError() <<
"expected DictionaryAttr to set properties";
134 return ::mlir::failure();
136 return ::mlir::success();
140 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
141 ::mlir::Builder odsBuilder{ctx};
144 return odsBuilder.getDictionaryAttr(attrs);
149 using llvm::hash_value;
150 return llvm::hash_combine();
163::llvm::LogicalResult
ExistsOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
164 return ::mlir::success();
167void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort) {
168 odsState.addOperands(sort);
169 (void)odsState.addRegion();
170 odsState.addTypes(result);
175 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(sort)>(sort));
176 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
177 assert(__res__ &&
"builder didn't return the right type");
182 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(sort)>(sort));
185void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort) {
186 odsState.addOperands(sort);
187 (void)odsState.addRegion();
189 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
191 odsState.location, odsState.operands,
192 odsState.attributes.getDictionary(odsState.getContext()),
193 odsState.getRawProperties(),
194 odsState.regions, inferredReturnTypes)))
195 odsState.addTypes(inferredReturnTypes);
197 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
203 build(builder, __state__, std::forward<
decltype(sort)>(sort));
204 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
205 assert(__res__ &&
"builder didn't return the right type");
210 return create(builder, builder.getLoc(), std::forward<
decltype(sort)>(sort));
213void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
214 odsState.addOperands(sort);
215 (void)odsState.addRegion();
216 assert(resultTypes.size() == 1u &&
"mismatched number of results");
217 odsState.addTypes(resultTypes);
220ExistsOp ExistsOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
222 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(sort)>(sort));
223 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
224 assert(__res__ &&
"builder didn't return the right type");
229 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(sort)>(sort));
232void ExistsOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
233 assert(operands.size() == 1u &&
"mismatched number of parameters");
234 odsState.addOperands(operands);
235 odsState.addAttributes(attributes);
236 for (
unsigned i = 0; i != 1; ++i)
237 (
void)odsState.addRegion();
238 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
239 odsState.addTypes(resultTypes);
242ExistsOp ExistsOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
244 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
245 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
246 assert(__res__ &&
"builder didn't return the right type");
250ExistsOp ExistsOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
251 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
254void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
255 assert(operands.size() == 1u &&
"mismatched number of parameters");
256 odsState.addOperands(operands);
257 odsState.addAttributes(attributes);
258 for (
unsigned i = 0; i != 1; ++i)
259 (
void)odsState.addRegion();
261 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
263 odsState.location, operands,
264 odsState.attributes.getDictionary(odsState.getContext()),
265 odsState.getRawProperties(),
266 odsState.regions, inferredReturnTypes))) {
267 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
268 odsState.addTypes(inferredReturnTypes);
270 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
274ExistsOp ExistsOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
276 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
277 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
278 assert(__res__ &&
"builder didn't return the right type");
282ExistsOp ExistsOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
283 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
286void ExistsOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
287 assert(operands.size() == 1u &&
"mismatched number of parameters");
288 odsState.addOperands(operands);
289 odsState.useProperties(
const_cast<Properties&
>(properties));
290 odsState.addAttributes(discardableAttributes);
291 for (
unsigned i = 0; i != 1; ++i)
292 (
void)odsState.addRegion();
293 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
294 odsState.addTypes(resultTypes);
297ExistsOp ExistsOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
299 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
300 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
301 assert(__res__ &&
"builder didn't return the right type");
305ExistsOp ExistsOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
306 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
309void ExistsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
310 assert(operands.size() == 1u &&
"mismatched number of parameters");
311 odsState.addOperands(operands);
312 odsState.useProperties(
const_cast<Properties &
>(properties));
313 odsState.addAttributes(discardableAttributes);
314 for (
unsigned i = 0; i != 1; ++i)
315 (
void)odsState.addRegion();
317 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
319 odsState.location, operands,
320 odsState.attributes.getDictionary(odsState.getContext()),
321 odsState.getRawProperties(),
322 odsState.regions, inferredReturnTypes))) {
323 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
324 odsState.addTypes(inferredReturnTypes);
326 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
330ExistsOp ExistsOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
332 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
333 auto __res__ = ::llvm::dyn_cast<ExistsOp>(builder.create(__state__));
334 assert(__res__ &&
"builder didn't return the right type");
338ExistsOp ExistsOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
339 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
344 unsigned index = 0; (void)index;
347 for (
auto v : valueGroup0) {
348 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
349 return ::mlir::failure();
353 unsigned index = 0; (void)index;
356 for (
auto v : valueGroup0) {
357 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
358 return ::mlir::failure();
362 unsigned index = 0; (void)index;
364 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
365 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops1(*
this, region,
"region", index++)))
366 return ::mlir::failure();
368 return ::mlir::success();
373 return ::mlir::success();
374 return ::mlir::failure();
377::llvm::LogicalResult
ExistsOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
378 inferredReturnTypes.resize(1);
379 ::mlir::Builder odsBuilder(context);
380 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
381 inferredReturnTypes[0] = odsInferredType0;
382 return ::mlir::success();
386 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
388 emitError() <<
"expected DictionaryAttr to set properties";
389 return ::mlir::failure();
393 ::mlir::DenseSet<::mlir::StringAttr> usedKeys;
394 ::mlir::MLIRContext *ctx = dict.getContext();
397 for (::mlir::NamedAttribute attr : dict) {
398 if (!usedKeys.contains(attr.getName()))
399 return emitError() <<
"unknown key '" << attr.getName() <<
400 "' when parsing properties dictionary";
402 return ::mlir::success();
405void ExistsOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
428 return ::mlir::success();
432 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
434 emitError() <<
"expected DictionaryAttr to set properties";
435 return ::mlir::failure();
437 return ::mlir::success();
441 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
442 ::mlir::Builder odsBuilder{ctx};
445 return odsBuilder.getDictionaryAttr(attrs);
450 using llvm::hash_value;
451 return llvm::hash_combine();
464::llvm::LogicalResult
ForAllOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
465 return ::mlir::success();
468void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort) {
469 odsState.addOperands(sort);
470 (void)odsState.addRegion();
471 odsState.addTypes(result);
476 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(sort)>(sort));
477 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
478 assert(__res__ &&
"builder didn't return the right type");
483 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(sort)>(sort));
486void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort) {
487 odsState.addOperands(sort);
488 (void)odsState.addRegion();
490 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
492 odsState.location, odsState.operands,
493 odsState.attributes.getDictionary(odsState.getContext()),
494 odsState.getRawProperties(),
495 odsState.regions, inferredReturnTypes)))
496 odsState.addTypes(inferredReturnTypes);
498 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
504 build(builder, __state__, std::forward<
decltype(sort)>(sort));
505 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
506 assert(__res__ &&
"builder didn't return the right type");
511 return create(builder, builder.getLoc(), std::forward<
decltype(sort)>(sort));
514void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
515 odsState.addOperands(sort);
516 (void)odsState.addRegion();
517 assert(resultTypes.size() == 1u &&
"mismatched number of results");
518 odsState.addTypes(resultTypes);
521ForAllOp ForAllOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value sort) {
523 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(sort)>(sort));
524 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
525 assert(__res__ &&
"builder didn't return the right type");
530 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(sort)>(sort));
533void ForAllOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
534 assert(operands.size() == 1u &&
"mismatched number of parameters");
535 odsState.addOperands(operands);
536 odsState.addAttributes(attributes);
537 for (
unsigned i = 0; i != 1; ++i)
538 (
void)odsState.addRegion();
539 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
540 odsState.addTypes(resultTypes);
543ForAllOp ForAllOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
545 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
546 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
547 assert(__res__ &&
"builder didn't return the right type");
551ForAllOp ForAllOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
552 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
555void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
556 assert(operands.size() == 1u &&
"mismatched number of parameters");
557 odsState.addOperands(operands);
558 odsState.addAttributes(attributes);
559 for (
unsigned i = 0; i != 1; ++i)
560 (
void)odsState.addRegion();
562 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
564 odsState.location, operands,
565 odsState.attributes.getDictionary(odsState.getContext()),
566 odsState.getRawProperties(),
567 odsState.regions, inferredReturnTypes))) {
568 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
569 odsState.addTypes(inferredReturnTypes);
571 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
575ForAllOp ForAllOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
577 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
578 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
579 assert(__res__ &&
"builder didn't return the right type");
583ForAllOp ForAllOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
584 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
587void ForAllOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
588 assert(operands.size() == 1u &&
"mismatched number of parameters");
589 odsState.addOperands(operands);
590 odsState.useProperties(
const_cast<Properties&
>(properties));
591 odsState.addAttributes(discardableAttributes);
592 for (
unsigned i = 0; i != 1; ++i)
593 (
void)odsState.addRegion();
594 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
595 odsState.addTypes(resultTypes);
598ForAllOp ForAllOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
600 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
601 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
602 assert(__res__ &&
"builder didn't return the right type");
606ForAllOp ForAllOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
607 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
610void ForAllOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
611 assert(operands.size() == 1u &&
"mismatched number of parameters");
612 odsState.addOperands(operands);
613 odsState.useProperties(
const_cast<Properties &
>(properties));
614 odsState.addAttributes(discardableAttributes);
615 for (
unsigned i = 0; i != 1; ++i)
616 (
void)odsState.addRegion();
618 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
620 odsState.location, operands,
621 odsState.attributes.getDictionary(odsState.getContext()),
622 odsState.getRawProperties(),
623 odsState.regions, inferredReturnTypes))) {
624 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
625 odsState.addTypes(inferredReturnTypes);
627 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
631ForAllOp ForAllOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
633 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
634 auto __res__ = ::llvm::dyn_cast<ForAllOp>(builder.create(__state__));
635 assert(__res__ &&
"builder didn't return the right type");
639ForAllOp ForAllOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
640 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
645 unsigned index = 0; (void)index;
648 for (
auto v : valueGroup0) {
649 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
650 return ::mlir::failure();
654 unsigned index = 0; (void)index;
657 for (
auto v : valueGroup0) {
658 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
659 return ::mlir::failure();
663 unsigned index = 0; (void)index;
665 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
666 if (::mlir::failed(__mlir_ods_local_region_constraint_Ops1(*
this, region,
"region", index++)))
667 return ::mlir::failure();
669 return ::mlir::success();
674 return ::mlir::success();
675 return ::mlir::failure();
678::llvm::LogicalResult
ForAllOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
679 inferredReturnTypes.resize(1);
680 ::mlir::Builder odsBuilder(context);
681 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
682 inferredReturnTypes[0] = odsInferredType0;
683 return ::mlir::success();
687 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
689 emitError() <<
"expected DictionaryAttr to set properties";
690 return ::mlir::failure();
694 ::mlir::DenseSet<::mlir::StringAttr> usedKeys;
695 ::mlir::MLIRContext *ctx = dict.getContext();
698 for (::mlir::NamedAttribute attr : dict) {
699 if (!usedKeys.contains(attr.getName()))
700 return emitError() <<
"unknown key '" << attr.getName() <<
701 "' when parsing properties dictionary";
703 return ::mlir::success();
706void ForAllOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
729 return ::mlir::success();
733 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
735 emitError() <<
"expected DictionaryAttr to set properties";
736 return ::mlir::failure();
738 return ::mlir::success();
742 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
743 ::mlir::Builder odsBuilder{ctx};
746 return odsBuilder.getDictionaryAttr(attrs);
751 using llvm::hash_value;
752 return llvm::hash_combine();
765::llvm::LogicalResult
AndBoolOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
766 return ::mlir::success();
769void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
770 odsState.addOperands(lhs);
771 odsState.addOperands(rhs);
772 odsState.addTypes(result);
775AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
777 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
778 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
779 assert(__res__ &&
"builder didn't return the right type");
784 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
787void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
788 odsState.addOperands(lhs);
789 odsState.addOperands(rhs);
791 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
793 odsState.location, odsState.operands,
794 odsState.attributes.getDictionary(odsState.getContext()),
795 odsState.getRawProperties(),
796 odsState.regions, inferredReturnTypes)))
797 odsState.addTypes(inferredReturnTypes);
799 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
805 build(builder, __state__, std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
806 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
807 assert(__res__ &&
"builder didn't return the right type");
812 return create(builder, builder.getLoc(), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
815void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
816 odsState.addOperands(lhs);
817 odsState.addOperands(rhs);
818 assert(resultTypes.size() == 1u &&
"mismatched number of results");
819 odsState.addTypes(resultTypes);
822AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
824 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
825 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
826 assert(__res__ &&
"builder didn't return the right type");
831 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
834void AndBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
835 assert(operands.size() == 2u &&
"mismatched number of parameters");
836 odsState.addOperands(operands);
837 odsState.addAttributes(attributes);
838 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
839 odsState.addTypes(resultTypes);
842AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
844 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
845 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
846 assert(__res__ &&
"builder didn't return the right type");
850AndBoolOp AndBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
851 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
854void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
855 assert(operands.size() == 2u &&
"mismatched number of parameters");
856 odsState.addOperands(operands);
857 odsState.addAttributes(attributes);
859 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
861 odsState.location, operands,
862 odsState.attributes.getDictionary(odsState.getContext()),
863 odsState.getRawProperties(),
864 odsState.regions, inferredReturnTypes))) {
865 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
866 odsState.addTypes(inferredReturnTypes);
868 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
872AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
874 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
875 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
876 assert(__res__ &&
"builder didn't return the right type");
880AndBoolOp AndBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
881 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
884void AndBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
885 assert(operands.size() == 2u &&
"mismatched number of parameters");
886 odsState.addOperands(operands);
887 odsState.useProperties(
const_cast<Properties&
>(properties));
888 odsState.addAttributes(discardableAttributes);
889 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
890 odsState.addTypes(resultTypes);
893AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
895 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
896 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
897 assert(__res__ &&
"builder didn't return the right type");
901AndBoolOp AndBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
902 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
905void AndBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
906 assert(operands.size() == 2u &&
"mismatched number of parameters");
907 odsState.addOperands(operands);
908 odsState.useProperties(
const_cast<Properties &
>(properties));
909 odsState.addAttributes(discardableAttributes);
911 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
913 odsState.location, operands,
914 odsState.attributes.getDictionary(odsState.getContext()),
915 odsState.getRawProperties(),
916 odsState.regions, inferredReturnTypes))) {
917 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
918 odsState.addTypes(inferredReturnTypes);
920 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
924AndBoolOp AndBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
926 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
927 auto __res__ = ::llvm::dyn_cast<AndBoolOp>(builder.create(__state__));
928 assert(__res__ &&
"builder didn't return the right type");
933 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
938 unsigned index = 0; (void)index;
941 for (
auto v : valueGroup0) {
942 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
943 return ::mlir::failure();
947 for (
auto v : valueGroup1) {
948 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
949 return ::mlir::failure();
953 unsigned index = 0; (void)index;
956 for (
auto v : valueGroup0) {
957 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
958 return ::mlir::failure();
962 return emitOpError(
"failed to verify that result type matches with lhs type");
964 return emitOpError(
"failed to verify that result type matches with rhs type");
965 return ::mlir::success();
972::llvm::LogicalResult
AndBoolOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
973 inferredReturnTypes.resize(1);
974 ::mlir::Builder odsBuilder(context);
975 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
976 inferredReturnTypes[0] = odsInferredType0;
977 return ::mlir::success();
980::mlir::ParseResult
AndBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
981 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
982 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
983 (void)lhsOperandsLoc;
984 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
985 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
986 (void)rhsOperandsLoc;
987 ::mlir::Type lhsRawType{};
988 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
989 ::mlir::Type rhsRawType{};
990 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
992 lhsOperandsLoc = parser.getCurrentLocation();
993 if (parser.parseOperand(lhsRawOperand))
994 return ::mlir::failure();
995 if (parser.parseComma())
996 return ::mlir::failure();
998 rhsOperandsLoc = parser.getCurrentLocation();
999 if (parser.parseOperand(rhsRawOperand))
1000 return ::mlir::failure();
1002 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
1003 if (odsResult) return ::mlir::failure();
1006 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
1007 if (odsResult) return ::mlir::failure();
1010 auto loc = parser.getCurrentLocation();(void)loc;
1011 if (parser.parseOptionalAttrDict(result.attributes))
1012 return ::mlir::failure();
1014 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1016 return ::mlir::failure();
1018 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1019 result.addTypes(odsBuildableType0);
1020 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1021 return ::mlir::failure();
1022 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1023 return ::mlir::failure();
1024 return ::mlir::success();
1033 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
1034 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
1035 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1036 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1039void AndBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1059 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
1069 if (tblgen_msg && !((::llvm::isa<::mlir::StringAttr>(tblgen_msg))))
1070 return emitError(loc,
"'bool.assert' op attribute 'msg' failed to satisfy constraint: string attribute");
1071 return ::mlir::success();
1075 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1077 emitError() <<
"expected DictionaryAttr to set properties";
1078 return ::mlir::failure();
1082 auto &propStorage = prop.
msg;
1083 auto attr = dict.get(
"msg");
1085 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1086 if (convertedAttr) {
1087 propStorage = convertedAttr;
1089 emitError() <<
"Invalid attribute `msg` in property conversion: " << attr;
1090 return ::mlir::failure();
1094 return ::mlir::success();
1098 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1099 ::mlir::Builder odsBuilder{ctx};
1102 const auto &propStorage = prop.
msg;
1104 attrs.push_back(odsBuilder.getNamedAttr(
"msg",
1109 return odsBuilder.getDictionaryAttr(attrs);
1114 using llvm::hash_value;
1115 return llvm::hash_combine(
1116 llvm::hash_value(prop.
msg.getAsOpaquePointer()));
1122 return std::nullopt;
1126 if (name ==
"msg") {
1127 prop.
msg = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
msg)>>(value);
1133 if (prop.
msg) attrs.append(
"msg", prop.
msg);
1136::llvm::LogicalResult
AssertOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1139 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(attr,
"msg", emitError)))
1140 return ::mlir::failure();
1142 return ::mlir::success();
1146 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1147 if (::mlir::failed(reader.readOptionalAttribute(prop.
msg)))
1148 return ::mlir::failure();
1149 return ::mlir::success();
1153 auto &prop = getProperties(); (void)prop;
1155 writer.writeOptionalAttribute(prop.
msg);
1160 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
1164 auto &odsProp = getProperties().msg;
1166 odsProp = ::mlir::Builder((*this)->getContext()).getStringAttr(*attrValue);
1171void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg) {
1172 odsState.addOperands(condition);
1174 odsState.getOrAddProperties<
Properties>().msg = msg;
1180 build(builder, __state__, std::forward<
decltype(condition)>(condition), std::forward<
decltype(msg)>(msg));
1181 auto __res__ = ::llvm::dyn_cast<AssertOp>(builder.create(__state__));
1182 assert(__res__ &&
"builder didn't return the right type");
1187 return create(builder, builder.getLoc(), std::forward<
decltype(condition)>(condition), std::forward<
decltype(msg)>(msg));
1190void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg) {
1191 odsState.addOperands(condition);
1193 odsState.getOrAddProperties<
Properties>().msg = msg;
1195 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1196 odsState.addTypes(resultTypes);
1199AssertOp AssertOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg) {
1201 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(condition)>(condition), std::forward<
decltype(msg)>(msg));
1202 auto __res__ = ::llvm::dyn_cast<AssertOp>(builder.create(__state__));
1203 assert(__res__ &&
"builder didn't return the right type");
1207AssertOp AssertOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value condition, ::mlir::StringAttr msg) {
1208 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(condition)>(condition), std::forward<
decltype(msg)>(msg));
1211void AssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1212 assert(operands.size() == 1u &&
"mismatched number of parameters");
1213 odsState.addOperands(operands);
1214 odsState.addAttributes(attributes);
1215 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1216 odsState.addTypes(resultTypes);
1218 if (!attributes.empty()) {
1220 ::mlir::PropertyRef properties = odsState.getRawProperties();
1221 std::optional<::mlir::RegisteredOperationName> info =
1222 odsState.name.getRegisteredInfo();
1223 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1224 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1225 ::llvm::report_fatal_error(
"Property conversion failed.");
1229AssertOp AssertOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1231 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1232 auto __res__ = ::llvm::dyn_cast<AssertOp>(builder.create(__state__));
1233 assert(__res__ &&
"builder didn't return the right type");
1237AssertOp AssertOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1238 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1241void AssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1242 assert(operands.size() == 1u &&
"mismatched number of parameters");
1243 odsState.addOperands(operands);
1244 odsState.useProperties(
const_cast<Properties&
>(properties));
1245 odsState.addAttributes(discardableAttributes);
1246 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1247 odsState.addTypes(resultTypes);
1250AssertOp AssertOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1252 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1253 auto __res__ = ::llvm::dyn_cast<AssertOp>(builder.create(__state__));
1254 assert(__res__ &&
"builder didn't return the right type");
1258AssertOp AssertOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1259 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1263 auto tblgen_msg = getProperties().msg; (void)tblgen_msg;
1265 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops1(*
this, tblgen_msg,
"msg")))
1266 return ::mlir::failure();
1268 unsigned index = 0; (void)index;
1271 for (
auto v : valueGroup0) {
1272 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
1273 return ::mlir::failure();
1276 return ::mlir::success();
1283::mlir::ParseResult
AssertOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1284 ::mlir::OpAsmParser::UnresolvedOperand conditionRawOperand{};
1285 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> conditionOperands(&conditionRawOperand, 1); ::llvm::SMLoc conditionOperandsLoc;
1286 (void)conditionOperandsLoc;
1287 ::mlir::StringAttr msgAttr;
1289 conditionOperandsLoc = parser.getCurrentLocation();
1290 if (parser.parseOperand(conditionRawOperand))
1291 return ::mlir::failure();
1292 if (::mlir::succeeded(parser.parseOptionalComma())) {
1294 if (parser.parseCustomAttributeWithFallback(msgAttr, parser.getBuilder().getType<::mlir::NoneType>())) {
1295 return ::mlir::failure();
1300 auto loc = parser.getCurrentLocation();(void)loc;
1301 if (parser.parseOptionalAttrDict(result.attributes))
1302 return ::mlir::failure();
1304 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1306 return ::mlir::failure();
1308 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1309 if (parser.resolveOperands(conditionOperands, odsBuildableType0, conditionOperandsLoc, result.operands))
1310 return ::mlir::failure();
1311 return ::mlir::success();
1320 _odsPrinter.printAttributeWithoutType(
getMsgAttr());
1322 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1323 elidedAttrs.push_back(
"msg");
1324 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1345 return attr.getValue();
1354 if (!tblgen_predicate)
return emitError(loc,
"'bool.cmp' op requires attribute 'predicate'");
1356 if (tblgen_predicate && !((::llvm::isa<::llzk::boolean::FeltCmpPredicateAttr>(tblgen_predicate))))
1357 return emitError(loc,
"'bool.cmp' op attribute 'predicate' failed to satisfy constraint: Field element comparison predicate");
1358 return ::mlir::success();
1362 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1364 emitError() <<
"expected DictionaryAttr to set properties";
1365 return ::mlir::failure();
1370 auto attr = dict.get(
"predicate");
1372 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1373 if (convertedAttr) {
1374 propStorage = convertedAttr;
1376 emitError() <<
"Invalid attribute `predicate` in property conversion: " << attr;
1377 return ::mlir::failure();
1381 return ::mlir::success();
1385 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1386 ::mlir::Builder odsBuilder{ctx};
1389 const auto &propStorage = prop.
predicate;
1391 attrs.push_back(odsBuilder.getNamedAttr(
"predicate",
1396 return odsBuilder.getDictionaryAttr(attrs);
1401 using llvm::hash_value;
1402 return llvm::hash_combine(
1403 llvm::hash_value(prop.
predicate.getAsOpaquePointer()));
1407 if (name ==
"predicate")
1409 return std::nullopt;
1413 if (name ==
"predicate") {
1414 prop.
predicate = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
predicate)>>(value);
1423::llvm::LogicalResult
CmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1426 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(attr,
"predicate", emitError)))
1427 return ::mlir::failure();
1429 return ::mlir::success();
1433 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1434 if (::mlir::failed(reader.readAttribute(prop.
predicate)))
1435 return ::mlir::failure();
1436 return ::mlir::success();
1440 auto &prop = getProperties(); (void)prop;
1446 return attr.getValue();
1450 getProperties().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(::mlir::Builder((*this)->getContext()).getContext(), attrValue);
1453void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1454 odsState.addOperands(lhs);
1455 odsState.addOperands(rhs);
1456 odsState.getOrAddProperties<
Properties>().predicate = predicate;
1457 odsState.addTypes(result);
1460CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1462 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1463 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1464 assert(__res__ &&
"builder didn't return the right type");
1468CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1469 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1472void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1473 odsState.addOperands(lhs);
1474 odsState.addOperands(rhs);
1475 odsState.getOrAddProperties<
Properties>().predicate = predicate;
1477 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1479 odsState.location, odsState.operands,
1480 odsState.attributes.getDictionary(odsState.getContext()),
1481 odsState.getRawProperties(),
1482 odsState.regions, inferredReturnTypes)))
1483 odsState.addTypes(inferredReturnTypes);
1485 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1489CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1491 build(builder, __state__, std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1492 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1493 assert(__res__ &&
"builder didn't return the right type");
1497CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1498 return create(builder, builder.getLoc(), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1501void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1502 odsState.addOperands(lhs);
1503 odsState.addOperands(rhs);
1504 odsState.getOrAddProperties<
Properties>().predicate = predicate;
1505 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1506 odsState.addTypes(resultTypes);
1509CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1511 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1512 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1513 assert(__res__ &&
"builder didn't return the right type");
1517CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs) {
1518 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1522 odsState.addOperands(lhs);
1523 odsState.addOperands(rhs);
1524 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
1525 odsState.addTypes(result);
1530 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1531 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1532 assert(__res__ &&
"builder didn't return the right type");
1537 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1541 odsState.addOperands(lhs);
1542 odsState.addOperands(rhs);
1543 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
1545 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1547 odsState.location, odsState.operands,
1548 odsState.attributes.getDictionary(odsState.getContext()),
1549 odsState.getRawProperties(),
1550 odsState.regions, inferredReturnTypes)))
1551 odsState.addTypes(inferredReturnTypes);
1553 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1559 build(builder, __state__, std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1560 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1561 assert(__res__ &&
"builder didn't return the right type");
1566 return create(builder, builder.getLoc(), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1570 odsState.addOperands(lhs);
1571 odsState.addOperands(rhs);
1572 odsState.getOrAddProperties<
Properties>().predicate = ::llzk::boolean::FeltCmpPredicateAttr::get(odsBuilder.getContext(), predicate);
1573 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1574 odsState.addTypes(resultTypes);
1579 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1580 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1581 assert(__res__ &&
"builder didn't return the right type");
1586 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(predicate)>(predicate), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
1589void CmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1590 assert(operands.size() == 2u &&
"mismatched number of parameters");
1591 odsState.addOperands(operands);
1592 odsState.addAttributes(attributes);
1593 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1594 odsState.addTypes(resultTypes);
1596 if (!attributes.empty()) {
1598 ::mlir::PropertyRef properties = odsState.getRawProperties();
1599 std::optional<::mlir::RegisteredOperationName> info =
1600 odsState.name.getRegisteredInfo();
1601 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1602 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1603 ::llvm::report_fatal_error(
"Property conversion failed.");
1607CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1609 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1610 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1611 assert(__res__ &&
"builder didn't return the right type");
1615CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1616 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1619void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1620 assert(operands.size() == 2u &&
"mismatched number of parameters");
1621 odsState.addOperands(operands);
1622 odsState.addAttributes(attributes);
1624 if (!attributes.empty()) {
1626 ::mlir::PropertyRef properties = odsState.getRawProperties();
1627 std::optional<::mlir::RegisteredOperationName> info =
1628 odsState.name.getRegisteredInfo();
1629 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1630 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1631 ::llvm::report_fatal_error(
"Property conversion failed.");
1633 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1635 odsState.location, operands,
1636 odsState.attributes.getDictionary(odsState.getContext()),
1637 odsState.getRawProperties(),
1638 odsState.regions, inferredReturnTypes))) {
1639 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1640 odsState.addTypes(inferredReturnTypes);
1642 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1646CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1648 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1649 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1650 assert(__res__ &&
"builder didn't return the right type");
1654CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1655 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1658void CmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1659 assert(operands.size() == 2u &&
"mismatched number of parameters");
1660 odsState.addOperands(operands);
1661 odsState.useProperties(
const_cast<Properties&
>(properties));
1662 odsState.addAttributes(discardableAttributes);
1663 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1664 odsState.addTypes(resultTypes);
1667CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1669 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1670 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1671 assert(__res__ &&
"builder didn't return the right type");
1675CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1676 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1679void CmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1680 assert(operands.size() == 2u &&
"mismatched number of parameters");
1681 odsState.addOperands(operands);
1682 odsState.useProperties(
const_cast<Properties &
>(properties));
1683 odsState.addAttributes(discardableAttributes);
1685 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1687 odsState.location, operands,
1688 odsState.attributes.getDictionary(odsState.getContext()),
1689 odsState.getRawProperties(),
1690 odsState.regions, inferredReturnTypes))) {
1691 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1692 odsState.addTypes(inferredReturnTypes);
1694 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1698CmpOp CmpOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1700 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1701 auto __res__ = ::llvm::dyn_cast<CmpOp>(builder.create(__state__));
1702 assert(__res__ &&
"builder didn't return the right type");
1706CmpOp CmpOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
1707 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
1711 auto tblgen_predicate = getProperties().predicate; (void)tblgen_predicate;
1712 if (!tblgen_predicate)
return emitOpError(
"requires attribute 'predicate'");
1714 if (::mlir::failed(__mlir_ods_local_attr_constraint_Ops2(*
this, tblgen_predicate,
"predicate")))
1715 return ::mlir::failure();
1717 unsigned index = 0; (void)index;
1720 for (
auto v : valueGroup0) {
1721 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops4(*
this, v.getType(),
"operand", index++)))
1722 return ::mlir::failure();
1726 for (
auto v : valueGroup1) {
1727 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops4(*
this, v.getType(),
"operand", index++)))
1728 return ::mlir::failure();
1732 unsigned index = 0; (void)index;
1735 for (
auto v : valueGroup0) {
1736 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
1737 return ::mlir::failure();
1741 return emitOpError(
"failed to verify that rhs type matches with lhs type");
1742 return ::mlir::success();
1749::llvm::LogicalResult
CmpOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
1750 inferredReturnTypes.resize(1);
1751 ::mlir::Builder odsBuilder(context);
1752 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
1753 inferredReturnTypes[0] = odsInferredType0;
1754 return ::mlir::success();
1757::mlir::ParseResult
CmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1758 ::llzk::boolean::FeltCmpPredicateAttr predicateAttr;
1759 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1760 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1761 (void)lhsOperandsLoc;
1762 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1763 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1764 (void)rhsOperandsLoc;
1765 ::mlir::Type lhsRawType{};
1766 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
1767 ::mlir::Type rhsRawType{};
1768 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
1770 if (parser.parseCustomAttributeWithFallback(predicateAttr, ::mlir::Type{})) {
1771 return ::mlir::failure();
1773 if (predicateAttr) result.getOrAddProperties<
CmpOp::Properties>().predicate = predicateAttr;
1774 if (parser.parseLParen())
1775 return ::mlir::failure();
1777 lhsOperandsLoc = parser.getCurrentLocation();
1778 if (parser.parseOperand(lhsRawOperand))
1779 return ::mlir::failure();
1780 if (parser.parseComma())
1781 return ::mlir::failure();
1783 rhsOperandsLoc = parser.getCurrentLocation();
1784 if (parser.parseOperand(rhsRawOperand))
1785 return ::mlir::failure();
1786 if (parser.parseRParen())
1787 return ::mlir::failure();
1789 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
1790 if (odsResult) return ::mlir::failure();
1793 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
1794 if (odsResult) return ::mlir::failure();
1797 auto loc = parser.getCurrentLocation();(void)loc;
1798 if (parser.parseOptionalAttrDict(result.attributes))
1799 return ::mlir::failure();
1801 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1803 return ::mlir::failure();
1805 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
1806 result.addTypes(odsBuildableType0);
1807 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
1808 return ::mlir::failure();
1809 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
1810 return ::mlir::failure();
1811 return ::mlir::success();
1823 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
1824 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
1825 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1826 elidedAttrs.push_back(
"predicate");
1827 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1830void CmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1854 return ::mlir::success();
1858 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1860 emitError() <<
"expected DictionaryAttr to set properties";
1861 return ::mlir::failure();
1863 return ::mlir::success();
1867 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1868 ::mlir::Builder odsBuilder{ctx};
1871 return odsBuilder.getDictionaryAttr(attrs);
1876 using llvm::hash_value;
1877 return llvm::hash_combine();
1881 return std::nullopt;
1890::llvm::LogicalResult
NotBoolOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1891 return ::mlir::success();
1894void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand) {
1895 odsState.addOperands(operand);
1896 odsState.addTypes(result);
1901 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(operand)>(operand));
1902 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
1903 assert(__res__ &&
"builder didn't return the right type");
1908 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(operand)>(operand));
1911void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand) {
1912 odsState.addOperands(operand);
1914 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1916 odsState.location, odsState.operands,
1917 odsState.attributes.getDictionary(odsState.getContext()),
1918 odsState.getRawProperties(),
1919 odsState.regions, inferredReturnTypes)))
1920 odsState.addTypes(inferredReturnTypes);
1922 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1928 build(builder, __state__, std::forward<
decltype(operand)>(operand));
1929 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
1930 assert(__res__ &&
"builder didn't return the right type");
1935 return create(builder, builder.getLoc(), std::forward<
decltype(operand)>(operand));
1938void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand) {
1939 odsState.addOperands(operand);
1940 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1941 odsState.addTypes(resultTypes);
1946 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operand)>(operand));
1947 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
1948 assert(__res__ &&
"builder didn't return the right type");
1953 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operand)>(operand));
1956void NotBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1957 assert(operands.size() == 1u &&
"mismatched number of parameters");
1958 odsState.addOperands(operands);
1959 odsState.addAttributes(attributes);
1960 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1961 odsState.addTypes(resultTypes);
1964NotBoolOp NotBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1966 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1967 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
1968 assert(__res__ &&
"builder didn't return the right type");
1972NotBoolOp NotBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1973 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1976void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1977 assert(operands.size() == 1u &&
"mismatched number of parameters");
1978 odsState.addOperands(operands);
1979 odsState.addAttributes(attributes);
1981 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1983 odsState.location, operands,
1984 odsState.attributes.getDictionary(odsState.getContext()),
1985 odsState.getRawProperties(),
1986 odsState.regions, inferredReturnTypes))) {
1987 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1988 odsState.addTypes(inferredReturnTypes);
1990 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1994NotBoolOp NotBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1996 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
1997 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
1998 assert(__res__ &&
"builder didn't return the right type");
2002NotBoolOp NotBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2003 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2006void NotBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2007 assert(operands.size() == 1u &&
"mismatched number of parameters");
2008 odsState.addOperands(operands);
2009 odsState.useProperties(
const_cast<Properties&
>(properties));
2010 odsState.addAttributes(discardableAttributes);
2011 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2012 odsState.addTypes(resultTypes);
2015NotBoolOp NotBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2017 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2018 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
2019 assert(__res__ &&
"builder didn't return the right type");
2023NotBoolOp NotBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2024 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2027void NotBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2028 assert(operands.size() == 1u &&
"mismatched number of parameters");
2029 odsState.addOperands(operands);
2030 odsState.useProperties(
const_cast<Properties &
>(properties));
2031 odsState.addAttributes(discardableAttributes);
2033 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2035 odsState.location, operands,
2036 odsState.attributes.getDictionary(odsState.getContext()),
2037 odsState.getRawProperties(),
2038 odsState.regions, inferredReturnTypes))) {
2039 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2040 odsState.addTypes(inferredReturnTypes);
2042 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2046NotBoolOp NotBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2048 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2049 auto __res__ = ::llvm::dyn_cast<NotBoolOp>(builder.create(__state__));
2050 assert(__res__ &&
"builder didn't return the right type");
2055 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2060 unsigned index = 0; (void)index;
2063 for (
auto v : valueGroup0) {
2064 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
2065 return ::mlir::failure();
2069 unsigned index = 0; (void)index;
2072 for (
auto v : valueGroup0) {
2073 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
2074 return ::mlir::failure();
2078 return emitOpError(
"failed to verify that result type matches with operand type");
2079 return ::mlir::success();
2086::llvm::LogicalResult
NotBoolOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2087 inferredReturnTypes.resize(1);
2088 ::mlir::Builder odsBuilder(context);
2089 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
2090 inferredReturnTypes[0] = odsInferredType0;
2091 return ::mlir::success();
2094::mlir::ParseResult
NotBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2095 ::mlir::OpAsmParser::UnresolvedOperand operandRawOperand{};
2096 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> operandOperands(&operandRawOperand, 1); ::llvm::SMLoc operandOperandsLoc;
2097 (void)operandOperandsLoc;
2098 ::mlir::Type operandRawType{};
2099 ::llvm::ArrayRef<::mlir::Type> operandTypes(&operandRawType, 1);
2101 operandOperandsLoc = parser.getCurrentLocation();
2102 if (parser.parseOperand(operandRawOperand))
2103 return ::mlir::failure();
2105 auto odsResult = parseInferredOrParsedType(parser, operandRawType,
true);
2106 if (odsResult) return ::mlir::failure();
2109 auto loc = parser.getCurrentLocation();(void)loc;
2110 if (parser.parseOptionalAttrDict(result.attributes))
2111 return ::mlir::failure();
2113 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2115 return ::mlir::failure();
2117 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2118 result.addTypes(odsBuildableType0);
2119 if (parser.resolveOperands(operandOperands, operandTypes, operandOperandsLoc, result.operands))
2120 return ::mlir::failure();
2121 return ::mlir::success();
2127 printInferredOrParsedType(_odsPrinter, *
this,
getOperand().getType(),
true);
2128 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2129 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2132void NotBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2155 return ::mlir::success();
2159 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2161 emitError() <<
"expected DictionaryAttr to set properties";
2162 return ::mlir::failure();
2164 return ::mlir::success();
2168 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2169 ::mlir::Builder odsBuilder{ctx};
2172 return odsBuilder.getDictionaryAttr(attrs);
2177 using llvm::hash_value;
2178 return llvm::hash_combine();
2182 return std::nullopt;
2191::llvm::LogicalResult
OrBoolOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
2192 return ::mlir::success();
2195void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2196 odsState.addOperands(lhs);
2197 odsState.addOperands(rhs);
2198 odsState.addTypes(result);
2201OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2203 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2204 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2205 assert(__res__ &&
"builder didn't return the right type");
2210 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2213void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2214 odsState.addOperands(lhs);
2215 odsState.addOperands(rhs);
2217 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2219 odsState.location, odsState.operands,
2220 odsState.attributes.getDictionary(odsState.getContext()),
2221 odsState.getRawProperties(),
2222 odsState.regions, inferredReturnTypes)))
2223 odsState.addTypes(inferredReturnTypes);
2225 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2231 build(builder, __state__, std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2232 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2233 assert(__res__ &&
"builder didn't return the right type");
2238 return create(builder, builder.getLoc(), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2241void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2242 odsState.addOperands(lhs);
2243 odsState.addOperands(rhs);
2244 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2245 odsState.addTypes(resultTypes);
2248OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2250 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2251 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2252 assert(__res__ &&
"builder didn't return the right type");
2257 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2260void OrBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2261 assert(operands.size() == 2u &&
"mismatched number of parameters");
2262 odsState.addOperands(operands);
2263 odsState.addAttributes(attributes);
2264 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2265 odsState.addTypes(resultTypes);
2268OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2270 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2271 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2272 assert(__res__ &&
"builder didn't return the right type");
2276OrBoolOp OrBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2277 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2280void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2281 assert(operands.size() == 2u &&
"mismatched number of parameters");
2282 odsState.addOperands(operands);
2283 odsState.addAttributes(attributes);
2285 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2287 odsState.location, operands,
2288 odsState.attributes.getDictionary(odsState.getContext()),
2289 odsState.getRawProperties(),
2290 odsState.regions, inferredReturnTypes))) {
2291 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2292 odsState.addTypes(inferredReturnTypes);
2294 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2298OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2300 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2301 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2302 assert(__res__ &&
"builder didn't return the right type");
2306OrBoolOp OrBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2307 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2310void OrBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2311 assert(operands.size() == 2u &&
"mismatched number of parameters");
2312 odsState.addOperands(operands);
2313 odsState.useProperties(
const_cast<Properties&
>(properties));
2314 odsState.addAttributes(discardableAttributes);
2315 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2316 odsState.addTypes(resultTypes);
2319OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2321 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2322 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2323 assert(__res__ &&
"builder didn't return the right type");
2327OrBoolOp OrBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2328 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2331void OrBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2332 assert(operands.size() == 2u &&
"mismatched number of parameters");
2333 odsState.addOperands(operands);
2334 odsState.useProperties(
const_cast<Properties &
>(properties));
2335 odsState.addAttributes(discardableAttributes);
2337 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2339 odsState.location, operands,
2340 odsState.attributes.getDictionary(odsState.getContext()),
2341 odsState.getRawProperties(),
2342 odsState.regions, inferredReturnTypes))) {
2343 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2344 odsState.addTypes(inferredReturnTypes);
2346 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2350OrBoolOp OrBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2352 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2353 auto __res__ = ::llvm::dyn_cast<OrBoolOp>(builder.create(__state__));
2354 assert(__res__ &&
"builder didn't return the right type");
2358OrBoolOp OrBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2359 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2364 unsigned index = 0; (void)index;
2367 for (
auto v : valueGroup0) {
2368 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
2369 return ::mlir::failure();
2373 for (
auto v : valueGroup1) {
2374 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
2375 return ::mlir::failure();
2379 unsigned index = 0; (void)index;
2382 for (
auto v : valueGroup0) {
2383 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
2384 return ::mlir::failure();
2388 return emitOpError(
"failed to verify that result type matches with lhs type");
2390 return emitOpError(
"failed to verify that result type matches with rhs type");
2391 return ::mlir::success();
2398::llvm::LogicalResult
OrBoolOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2399 inferredReturnTypes.resize(1);
2400 ::mlir::Builder odsBuilder(context);
2401 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
2402 inferredReturnTypes[0] = odsInferredType0;
2403 return ::mlir::success();
2406::mlir::ParseResult
OrBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2407 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2408 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2409 (void)lhsOperandsLoc;
2410 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2411 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2412 (void)rhsOperandsLoc;
2413 ::mlir::Type lhsRawType{};
2414 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
2415 ::mlir::Type rhsRawType{};
2416 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
2418 lhsOperandsLoc = parser.getCurrentLocation();
2419 if (parser.parseOperand(lhsRawOperand))
2420 return ::mlir::failure();
2421 if (parser.parseComma())
2422 return ::mlir::failure();
2424 rhsOperandsLoc = parser.getCurrentLocation();
2425 if (parser.parseOperand(rhsRawOperand))
2426 return ::mlir::failure();
2428 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
2429 if (odsResult) return ::mlir::failure();
2432 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
2433 if (odsResult) return ::mlir::failure();
2436 auto loc = parser.getCurrentLocation();(void)loc;
2437 if (parser.parseOptionalAttrDict(result.attributes))
2438 return ::mlir::failure();
2440 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2442 return ::mlir::failure();
2444 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2445 result.addTypes(odsBuildableType0);
2446 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2447 return ::mlir::failure();
2448 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
2449 return ::mlir::failure();
2450 return ::mlir::success();
2459 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
2460 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
2461 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2462 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2465void OrBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2488 return ::mlir::success();
2492 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2494 emitError() <<
"expected DictionaryAttr to set properties";
2495 return ::mlir::failure();
2497 return ::mlir::success();
2501 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2502 ::mlir::Builder odsBuilder{ctx};
2505 return odsBuilder.getDictionaryAttr(attrs);
2510 using llvm::hash_value;
2511 return llvm::hash_combine();
2515 return std::nullopt;
2524::llvm::LogicalResult
XorBoolOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
2525 return ::mlir::success();
2528void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2529 odsState.addOperands(lhs);
2530 odsState.addOperands(rhs);
2531 odsState.addTypes(result);
2536 build(builder, __state__, std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2537 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2538 assert(__res__ &&
"builder didn't return the right type");
2543 return create(builder, builder.getLoc(), std::forward<
decltype(result)>(result), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2546void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2547 odsState.addOperands(lhs);
2548 odsState.addOperands(rhs);
2550 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2552 odsState.location, odsState.operands,
2553 odsState.attributes.getDictionary(odsState.getContext()),
2554 odsState.getRawProperties(),
2555 odsState.regions, inferredReturnTypes)))
2556 odsState.addTypes(inferredReturnTypes);
2558 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2564 build(builder, __state__, std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2565 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2566 assert(__res__ &&
"builder didn't return the right type");
2571 return create(builder, builder.getLoc(), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2574void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2575 odsState.addOperands(lhs);
2576 odsState.addOperands(rhs);
2577 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2578 odsState.addTypes(resultTypes);
2581XorBoolOp XorBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2583 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2584 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2585 assert(__res__ &&
"builder didn't return the right type");
2590 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(lhs)>(lhs), std::forward<
decltype(rhs)>(rhs));
2593void XorBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2594 assert(operands.size() == 2u &&
"mismatched number of parameters");
2595 odsState.addOperands(operands);
2596 odsState.addAttributes(attributes);
2597 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2598 odsState.addTypes(resultTypes);
2601XorBoolOp XorBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2603 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2604 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2605 assert(__res__ &&
"builder didn't return the right type");
2609XorBoolOp XorBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2610 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2613void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2614 assert(operands.size() == 2u &&
"mismatched number of parameters");
2615 odsState.addOperands(operands);
2616 odsState.addAttributes(attributes);
2618 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2620 odsState.location, operands,
2621 odsState.attributes.getDictionary(odsState.getContext()),
2622 odsState.getRawProperties(),
2623 odsState.regions, inferredReturnTypes))) {
2624 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2625 odsState.addTypes(inferredReturnTypes);
2627 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2631XorBoolOp XorBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2633 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2634 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2635 assert(__res__ &&
"builder didn't return the right type");
2639XorBoolOp XorBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2640 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2643void XorBoolOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2644 assert(operands.size() == 2u &&
"mismatched number of parameters");
2645 odsState.addOperands(operands);
2646 odsState.useProperties(
const_cast<Properties&
>(properties));
2647 odsState.addAttributes(discardableAttributes);
2648 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2649 odsState.addTypes(resultTypes);
2652XorBoolOp XorBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2654 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2655 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2656 assert(__res__ &&
"builder didn't return the right type");
2660XorBoolOp XorBoolOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2661 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2664void XorBoolOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2665 assert(operands.size() == 2u &&
"mismatched number of parameters");
2666 odsState.addOperands(operands);
2667 odsState.useProperties(
const_cast<Properties &
>(properties));
2668 odsState.addAttributes(discardableAttributes);
2670 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2672 odsState.location, operands,
2673 odsState.attributes.getDictionary(odsState.getContext()),
2674 odsState.getRawProperties(),
2675 odsState.regions, inferredReturnTypes))) {
2676 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2677 odsState.addTypes(inferredReturnTypes);
2679 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2683XorBoolOp XorBoolOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2685 build(builder, __state__, std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2686 auto __res__ = ::llvm::dyn_cast<XorBoolOp>(builder.create(__state__));
2687 assert(__res__ &&
"builder didn't return the right type");
2692 return create(builder, builder.getLoc(), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2697 unsigned index = 0; (void)index;
2700 for (
auto v : valueGroup0) {
2701 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
2702 return ::mlir::failure();
2706 for (
auto v : valueGroup1) {
2707 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
2708 return ::mlir::failure();
2712 unsigned index = 0; (void)index;
2715 for (
auto v : valueGroup0) {
2716 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
2717 return ::mlir::failure();
2721 return emitOpError(
"failed to verify that result type matches with lhs type");
2723 return emitOpError(
"failed to verify that result type matches with rhs type");
2724 return ::mlir::success();
2731::llvm::LogicalResult
XorBoolOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2732 inferredReturnTypes.resize(1);
2733 ::mlir::Builder odsBuilder(context);
2734 ::mlir::Type odsInferredType0 = odsBuilder.getIntegerType(1);
2735 inferredReturnTypes[0] = odsInferredType0;
2736 return ::mlir::success();
2739::mlir::ParseResult
XorBoolOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2740 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2741 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2742 (void)lhsOperandsLoc;
2743 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2744 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2745 (void)rhsOperandsLoc;
2746 ::mlir::Type lhsRawType{};
2747 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
2748 ::mlir::Type rhsRawType{};
2749 ::llvm::ArrayRef<::mlir::Type> rhsTypes(&rhsRawType, 1);
2751 lhsOperandsLoc = parser.getCurrentLocation();
2752 if (parser.parseOperand(lhsRawOperand))
2753 return ::mlir::failure();
2754 if (parser.parseComma())
2755 return ::mlir::failure();
2757 rhsOperandsLoc = parser.getCurrentLocation();
2758 if (parser.parseOperand(rhsRawOperand))
2759 return ::mlir::failure();
2761 auto odsResult = parseInferredOrParsedType(parser, lhsRawType,
true);
2762 if (odsResult) return ::mlir::failure();
2765 auto odsResult = parseInferredOrParsedType(parser, rhsRawType,
false);
2766 if (odsResult) return ::mlir::failure();
2769 auto loc = parser.getCurrentLocation();(void)loc;
2770 if (parser.parseOptionalAttrDict(result.attributes))
2771 return ::mlir::failure();
2773 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2775 return ::mlir::failure();
2777 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2778 result.addTypes(odsBuildableType0);
2779 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2780 return ::mlir::failure();
2781 if (parser.resolveOperands(rhsOperands, rhsTypes, rhsOperandsLoc, result.operands))
2782 return ::mlir::failure();
2783 return ::mlir::success();
2792 printInferredOrParsedType(_odsPrinter, *
this,
getLhs().getType(),
true);
2793 printInferredOrParsedType(_odsPrinter, *
this,
getRhs().getType(),
false);
2794 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2795 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2798void XorBoolOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2821 return ::mlir::success();
2825 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2827 emitError() <<
"expected DictionaryAttr to set properties";
2828 return ::mlir::failure();
2830 return ::mlir::success();
2834 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2835 ::mlir::Builder odsBuilder{ctx};
2838 return odsBuilder.getDictionaryAttr(attrs);
2843 using llvm::hash_value;
2844 return llvm::hash_combine();
2848 return std::nullopt;
2857::llvm::LogicalResult
YieldOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
2858 return ::mlir::success();
2861void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value) {
2862 odsState.addOperands(value);
2867 build(builder, __state__, std::forward<
decltype(value)>(value));
2868 auto __res__ = ::llvm::dyn_cast<YieldOp>(builder.create(__state__));
2869 assert(__res__ &&
"builder didn't return the right type");
2874 return create(builder, builder.getLoc(), std::forward<
decltype(value)>(value));
2877void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
2878 odsState.addOperands(value);
2879 assert(resultTypes.size() == 0u &&
"mismatched number of results");
2880 odsState.addTypes(resultTypes);
2883YieldOp YieldOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
2885 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(value)>(value));
2886 auto __res__ = ::llvm::dyn_cast<YieldOp>(builder.create(__state__));
2887 assert(__res__ &&
"builder didn't return the right type");
2892 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(value)>(value));
2895void YieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2896 assert(operands.size() == 1u &&
"mismatched number of parameters");
2897 odsState.addOperands(operands);
2898 odsState.addAttributes(attributes);
2899 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2900 odsState.addTypes(resultTypes);
2903YieldOp YieldOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2905 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2906 auto __res__ = ::llvm::dyn_cast<YieldOp>(builder.create(__state__));
2907 assert(__res__ &&
"builder didn't return the right type");
2911YieldOp YieldOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2912 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(attributes)>(attributes));
2915void YieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2916 assert(operands.size() == 1u &&
"mismatched number of parameters");
2917 odsState.addOperands(operands);
2918 odsState.useProperties(
const_cast<Properties&
>(properties));
2919 odsState.addAttributes(discardableAttributes);
2920 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
2921 odsState.addTypes(resultTypes);
2924YieldOp YieldOp::create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2926 build(builder, __state__, std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2927 auto __res__ = ::llvm::dyn_cast<YieldOp>(builder.create(__state__));
2928 assert(__res__ &&
"builder didn't return the right type");
2932YieldOp YieldOp::create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands,
const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes) {
2933 return create(builder, builder.getLoc(), std::forward<
decltype(resultTypes)>(resultTypes), std::forward<
decltype(operands)>(operands), std::forward<
decltype(properties)>(properties), std::forward<
decltype(discardableAttributes)>(discardableAttributes));
2938 unsigned index = 0; (void)index;
2941 for (
auto v : valueGroup0) {
2942 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
2943 return ::mlir::failure();
2946 return ::mlir::success();
2953::mlir::ParseResult
YieldOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2954 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
2955 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
2956 (void)valueOperandsLoc;
2958 valueOperandsLoc = parser.getCurrentLocation();
2959 if (parser.parseOperand(valueRawOperand))
2960 return ::mlir::failure();
2962 auto loc = parser.getCurrentLocation();(void)loc;
2963 if (parser.parseOptionalAttrDict(result.attributes))
2964 return ::mlir::failure();
2966 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2968 return ::mlir::failure();
2970 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIntegerType(1);
2971 if (parser.resolveOperands(valueOperands, odsBuildableType0, valueOperandsLoc, result.operands))
2972 return ::mlir::failure();
2973 return ::mlir::success();
2979 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2980 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
::llvm::LogicalResult verify(::mlir::Location loc)
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
AndBoolOpAdaptor(AndBoolOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
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)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::LogicalResult verifyInvariants()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInvariantsImpl()
FoldAdaptor::Properties Properties
static constexpr ::llvm::StringLiteral getOperationName()
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()
static constexpr ::llvm::StringLiteral getOperationName()
void setMsg(::std::optional<::llvm::StringRef > attrValue)
static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value condition, ::mlir::StringAttr msg)
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()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::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()
static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs)
void setPredicate(::llzk::boolean::FeltCmpPredicate attrValue)
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
::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)
::llvm::LogicalResult verify(::mlir::Location loc)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
ExistsOpAdaptor(ExistsOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static constexpr ::llvm::StringLiteral getOperationName()
FoldAdaptor::Properties Properties
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verify()
::llvm::LogicalResult verifyInvariants()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::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)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ForAllOpAdaptor(ForAllOp op)
::mlir::ValueRange getOperands()
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInvariants()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult setPropertiesFromParsedAttr(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)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort)
::llvm::LogicalResult verify()
::llvm::LogicalResult verifyInvariantsImpl()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
NotBoolOpAdaptor(NotBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::TypedValue<::mlir::Type > getOperand()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value operand)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::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 setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
FoldAdaptor::Properties Properties
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Operation::result_range getODSResults(unsigned index)
OrBoolOpAdaptor(OrBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::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)
static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::mlir::Type > getLhs()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
FoldAdaptor::Properties Properties
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInvariants()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
XorBoolOpAdaptor(XorBoolOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
XorBoolOpGenericAdaptor(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)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::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)
static llvm::hash_code computePropertiesHash(const Properties &prop)
FoldAdaptor::Properties Properties
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::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 Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::TypedValue<::mlir::IntegerType > getValue()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value value)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
FoldAdaptor::Properties Properties
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
AndBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getMsgAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::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()
const Properties & getProperties()
::mlir::RegionRange getRegions()
ExistsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange getRegions()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
ForAllOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
const Properties & getProperties()
NotBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
OrBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
XorBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
const Properties & getProperties()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
YieldOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Common interface for constant parameter-like symbol operations that can be defined within a TemplateO...
bool typesUnify(Type lhs, Type rhs, ArrayRef< StringRef > rhsReversePrefix, UnificationMap *unifications)