82static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT1(
83 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
84 unsigned valueIndex) {
85 if (!((::llvm::isa<::llzk::smt::BoolType>(type)))) {
86 return op->emitOpError(valueKind) <<
" #" << valueIndex
87 <<
" must be variadic of , but got " << type;
89 return ::mlir::success();
92static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT2(
93 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
94 unsigned valueIndex) {
95 if (!((::llvm::isa<::llzk::smt::BoolType>(type)))) {
96 return op->emitOpError(valueKind) <<
" #" << valueIndex
97 <<
" must be , but got " << type;
99 return ::mlir::success();
102static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT3(
103 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
104 unsigned valueIndex) {
105 if (!((::llvm::isa<::llzk::smt::SMTFuncType>(type)))) {
106 return op->emitOpError(valueKind) <<
" #" << valueIndex
107 <<
" must be , but got " << type;
109 return ::mlir::success();
112static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT4(
113 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
114 unsigned valueIndex) {
116 return op->emitOpError(valueKind) <<
" #" << valueIndex
117 <<
" must be variadic of any non-function SMT value type, but got " << type;
119 return ::mlir::success();
122static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT5(
123 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
124 unsigned valueIndex) {
126 return op->emitOpError(valueKind) <<
" #" << valueIndex
127 <<
" must be any non-function SMT value type, but got " << type;
129 return ::mlir::success();
132static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT6(
133 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
134 unsigned valueIndex) {
136 return op->emitOpError(valueKind) <<
" #" << valueIndex
137 <<
" must be any SMT value type, but got " << type;
139 return ::mlir::success();
142static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT7(
143 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
144 unsigned valueIndex) {
145 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
146 return op->emitOpError(valueKind) <<
" #" << valueIndex
147 <<
" must be , but got " << type;
149 return ::mlir::success();
152static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT8(
153 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
154 unsigned valueIndex) {
155 if (!((::llvm::isa<::llzk::smt::BitVectorType>(type)))) {
156 return op->emitOpError(valueKind) <<
" #" << valueIndex
157 <<
" must be , but got " << type;
159 return ::mlir::success();
162static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT9(
163 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
164 unsigned valueIndex) {
165 if (!((::llvm::isa<::llzk::smt::IntType>(type)))) {
166 return op->emitOpError(valueKind) <<
" #" << valueIndex
167 <<
" must be , but got " << type;
169 return ::mlir::success();
172static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT10(
173 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
174 unsigned valueIndex) {
176 return op->emitOpError(valueKind) <<
" #" << valueIndex
177 <<
" must be variadic of any type, but got " << type;
179 return ::mlir::success();
182static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT11(
183 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
184 unsigned valueIndex) {
185 if (!((::llvm::isa<::llzk::smt::IntType>(type)))) {
186 return op->emitOpError(valueKind) <<
" #" << valueIndex
187 <<
" must be variadic of , but got " << type;
189 return ::mlir::success();
192static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT12(
193 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
194 unsigned valueIndex) {
196 return op->emitOpError(valueKind) <<
" #" << valueIndex
197 <<
" must be variadic of any non-smt type, but got " << type;
199 return ::mlir::success();
202static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT1(
203 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
204 if (attr && !((::llvm::isa<::mlir::UnitAttr>(attr))))
205 return emitError() <<
"attribute '" << attrName
206 <<
"' failed to satisfy constraint: unit attribute";
207 return ::mlir::success();
209static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT1(
210 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
211 return __mlir_ods_local_attr_constraint_SMT1(attr, attrName, [op]() {
212 return op->emitOpError();
216static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT2(
217 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
218 if (attr && !((::llvm::isa<::llzk::smt::BVCmpPredicateAttr>(attr))))
219 return emitError() <<
"attribute '" << attrName
220 <<
"' failed to satisfy constraint: smt bit-vector comparison predicate";
221 return ::mlir::success();
223static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT2(
224 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
225 return __mlir_ods_local_attr_constraint_SMT2(attr, attrName, [op]() {
226 return op->emitOpError();
230static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT3(
231 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
232 if (attr && !((::llvm::isa<::llzk::smt::BitVectorAttr>(attr))))
233 return emitError() <<
"attribute '" << attrName
234 <<
"' failed to satisfy constraint: ";
235 return ::mlir::success();
237static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT3(
238 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
239 return __mlir_ods_local_attr_constraint_SMT3(attr, attrName, [op]() {
240 return op->emitOpError();
244static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT4(
245 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
246 if (attr && !((::llvm::isa<::mlir::BoolAttr>(attr))))
247 return emitError() <<
"attribute '" << attrName
248 <<
"' failed to satisfy constraint: bool attribute";
249 return ::mlir::success();
251static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT4(
252 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
253 return __mlir_ods_local_attr_constraint_SMT4(attr, attrName, [op]() {
254 return op->emitOpError();
258static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT5(
259 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
260 if (attr && !((::llvm::isa<::mlir::StringAttr>(attr))))
261 return emitError() <<
"attribute '" << attrName
262 <<
"' failed to satisfy constraint: string attribute";
263 return ::mlir::success();
265static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT5(
266 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
267 return __mlir_ods_local_attr_constraint_SMT5(attr, attrName, [op]() {
268 return op->emitOpError();
272static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT6(
273 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
274 if (attr && !(((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(32)))))
275 return emitError() <<
"attribute '" << attrName
276 <<
"' failed to satisfy constraint: 32-bit signless integer attribute";
277 return ::mlir::success();
279static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT6(
280 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
281 return __mlir_ods_local_attr_constraint_SMT6(attr, attrName, [op]() {
282 return op->emitOpError();
286static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT7(
287 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
288 if (attr && !(((::llvm::isa<::mlir::ArrayAttr>(attr))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(attr), [&](::mlir::Attribute attr) {
return attr && ((::llvm::isa<::mlir::StringAttr>(attr))); }))))
289 return emitError() <<
"attribute '" << attrName
290 <<
"' failed to satisfy constraint: string array attribute";
291 return ::mlir::success();
293static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT7(
294 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
295 return __mlir_ods_local_attr_constraint_SMT7(attr, attrName, [op]() {
296 return op->emitOpError();
300static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT8(
301 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
302 if (attr && !((::llvm::isa<::llzk::smt::IntPredicateAttr>(attr))))
303 return emitError() <<
"attribute '" << attrName
304 <<
"' failed to satisfy constraint: smt comparison predicate for integers";
305 return ::mlir::success();
307static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT8(
308 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
309 return __mlir_ods_local_attr_constraint_SMT8(attr, attrName, [op]() {
310 return op->emitOpError();
314static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT9(
315 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
316 if (attr && !((::llvm::isa<::mlir::IntegerAttr>(attr))))
317 return emitError() <<
"attribute '" << attrName
318 <<
"' failed to satisfy constraint: arbitrary integer attribute";
319 return ::mlir::success();
321static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT9(
322 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
323 return __mlir_ods_local_attr_constraint_SMT9(attr, attrName, [op]() {
324 return op->emitOpError();
328static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT10(
329 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
330 if (attr && !((((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(32)))) && ((!::llvm::cast<::mlir::IntegerAttr>(attr).getValue().isNegative()))))
331 return emitError() <<
"attribute '" << attrName
332 <<
"' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative";
333 return ::mlir::success();
335static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT10(
336 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
337 return __mlir_ods_local_attr_constraint_SMT10(attr, attrName, [op]() {
338 return op->emitOpError();
342static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT11(
343 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
344 if (attr && !((::llvm::isa<::llzk::smt::KeywordAttr>(attr))))
345 return emitError() <<
"attribute '" << attrName
346 <<
"' failed to satisfy constraint: an SMT-LIB keyword";
347 return ::mlir::success();
349static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT11(
350 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
351 return __mlir_ods_local_attr_constraint_SMT11(attr, attrName, [op]() {
352 return op->emitOpError();
356static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT12(
357 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
358 if (attr && !((
true)))
359 return emitError() <<
"attribute '" << attrName
360 <<
"' failed to satisfy constraint: any attribute";
361 return ::mlir::success();
363static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT12(
364 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
365 return __mlir_ods_local_attr_constraint_SMT12(attr, attrName, [op]() {
366 return op->emitOpError();
370static ::llvm::LogicalResult __mlir_ods_local_region_constraint_SMT1(
371 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
372 unsigned regionIndex) {
373 if (!((::llvm::hasNItems(region, 1)))) {
374 return op->emitOpError(
"region #") << regionIndex
375 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
376 <<
"failed to verify constraint: region with 1 blocks";
378 return ::mlir::success();
391 bool isVariadic[] = {
true};
392 int prevVariadicCount = 0;
393 for (
unsigned i = 0; i < index; ++i)
394 if (isVariadic[i]) ++prevVariadicCount;
398 int variadicSize = (odsOperandsSize - 0) / 1;
403 int start = index + (variadicSize - 1) * prevVariadicCount;
404 int size = isVariadic[index] ? variadicSize : 1;
405 return {start, size};
412 return ::mlir::success();
416 bool isVariadic[] = {
true};
417 int prevVariadicCount = 0;
418 for (
unsigned i = 0; i < index; ++i)
419 if (isVariadic[i]) ++prevVariadicCount;
423 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
428 int start = index + (variadicSize - 1) * prevVariadicCount;
429 int size = isVariadic[index] ? variadicSize : 1;
430 return {start, size};
435 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
439void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
440 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
444void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
445 odsState.addOperands(inputs);
446 odsState.addTypes(result);
449void AndOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
450 odsState.addOperands(operands);
451 odsState.addAttributes(attributes);
452 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
453 odsState.addTypes(resultTypes);
456void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
457 odsState.addOperands(operands);
458 odsState.addAttributes(attributes);
460 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
462 odsState.location, operands,
463 odsState.attributes.getDictionary(odsState.getContext()),
464 odsState.getRawProperties(),
465 odsState.regions, inferredReturnTypes))) {
466 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
467 odsState.addTypes(inferredReturnTypes);
469 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
475 unsigned index = 0; (void)index;
478 for (
auto v : valueGroup0) {
479 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
480 return ::mlir::failure();
484 unsigned index = 0; (void)index;
487 for (
auto v : valueGroup0) {
488 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
489 return ::mlir::failure();
492 return ::mlir::success();
499::llvm::LogicalResult
AndOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
500 inferredReturnTypes.resize(1);
501 ::mlir::Builder odsBuilder(context);
503 inferredReturnTypes[0] = odsInferredType0;
504 return ::mlir::success();
507::mlir::ParseResult
AndOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
508 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
509 ::llvm::SMLoc inputsOperandsLoc;
510 (void)inputsOperandsLoc;
512 inputsOperandsLoc = parser.getCurrentLocation();
513 if (parser.parseOperandList(inputsOperands))
514 return ::mlir::failure();
516 auto loc = parser.getCurrentLocation();(void)loc;
517 if (parser.parseOptionalAttrDict(result.attributes))
518 return ::mlir::failure();
521 result.addTypes(odsBuildableType0);
522 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
523 return ::mlir::failure();
524 return ::mlir::success();
530 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
531 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
534void AndOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
550 bool isVariadic[] = {
false,
true};
551 int prevVariadicCount = 0;
552 for (
unsigned i = 0; i < index; ++i)
553 if (isVariadic[i]) ++prevVariadicCount;
557 int variadicSize = (odsOperandsSize - 1) / 1;
562 int start = index + (variadicSize - 1) * prevVariadicCount;
563 int size = isVariadic[index] ? variadicSize : 1;
564 return {start, size};
571 return ::mlir::success();
575 bool isVariadic[] = {
false,
true};
576 int prevVariadicCount = 0;
577 for (
unsigned i = 0; i < index; ++i)
578 if (isVariadic[i]) ++prevVariadicCount;
582 int variadicSize = (getOperation()->getNumOperands() - 1) / 1;
587 int start = index + (variadicSize - 1) * prevVariadicCount;
588 int size = isVariadic[index] ? variadicSize : 1;
589 return {start, size};
594 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
598void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args) {
599 odsState.addOperands(func);
600 odsState.addOperands(args);
601 odsState.addTypes(result);
604void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value func, ::mlir::ValueRange args) {
605 odsState.addOperands(func);
606 odsState.addOperands(args);
608 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
610 odsState.location, odsState.operands,
611 odsState.attributes.getDictionary(odsState.getContext()),
612 odsState.getRawProperties(),
613 odsState.regions, inferredReturnTypes)))
614 odsState.addTypes(inferredReturnTypes);
616 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
620void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value func, ::mlir::ValueRange args) {
621 odsState.addOperands(func);
622 odsState.addOperands(args);
623 assert(resultTypes.size() == 1u &&
"mismatched number of results");
624 odsState.addTypes(resultTypes);
627void ApplyFuncOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
628 assert(operands.size() >= 1u &&
"mismatched number of parameters");
629 odsState.addOperands(operands);
630 odsState.addAttributes(attributes);
631 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
632 odsState.addTypes(resultTypes);
635void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
636 assert(operands.size() >= 1u &&
"mismatched number of parameters");
637 odsState.addOperands(operands);
638 odsState.addAttributes(attributes);
640 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
642 odsState.location, operands,
643 odsState.attributes.getDictionary(odsState.getContext()),
644 odsState.getRawProperties(),
645 odsState.regions, inferredReturnTypes))) {
646 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
647 odsState.addTypes(inferredReturnTypes);
649 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
655 unsigned index = 0; (void)index;
658 for (
auto v : valueGroup0) {
659 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT3(*
this, v.getType(),
"operand", index++)))
660 return ::mlir::failure();
664 for (
auto v : valueGroup1) {
665 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
666 return ::mlir::failure();
670 unsigned index = 0; (void)index;
673 for (
auto v : valueGroup0) {
674 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT5(*
this, v.getType(),
"result", index++)))
675 return ::mlir::failure();
679 return emitOpError(
"failed to verify that summary");
681 return emitOpError(
"failed to verify that summary");
682 return ::mlir::success();
689::llvm::LogicalResult
ApplyFuncOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
690 inferredReturnTypes.resize(1);
691 ::mlir::Builder odsBuilder(context);
692 if (operands.size() <= 0)
693 return ::mlir::failure();
694 ::mlir::Type odsInferredType0 =
cast<SMTFuncType>(operands[0].getType()).getRangeType();
695 inferredReturnTypes[0] = odsInferredType0;
696 return ::mlir::success();
700 ::mlir::OpAsmParser::UnresolvedOperand funcRawOperand{};
701 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> funcOperands(&funcRawOperand, 1); ::llvm::SMLoc funcOperandsLoc;
702 (void)funcOperandsLoc;
703 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> argsOperands;
704 ::llvm::SMLoc argsOperandsLoc;
705 (void)argsOperandsLoc;
706 ::mlir::Type funcRawType{};
707 ::llvm::ArrayRef<::mlir::Type> funcTypes(&funcRawType, 1);
709 funcOperandsLoc = parser.getCurrentLocation();
710 if (parser.parseOperand(funcRawOperand))
711 return ::mlir::failure();
712 if (parser.parseLParen())
713 return ::mlir::failure();
715 argsOperandsLoc = parser.getCurrentLocation();
716 if (parser.parseOperandList(argsOperands))
717 return ::mlir::failure();
718 if (parser.parseRParen())
719 return ::mlir::failure();
721 auto loc = parser.getCurrentLocation();(void)loc;
722 if (parser.parseOptionalAttrDict(result.attributes))
723 return ::mlir::failure();
725 if (parser.parseColon())
726 return ::mlir::failure();
728 if (parser.parseType(funcRawType))
729 return ::mlir::failure();
730 for (::mlir::Type type : funcTypes) {
732 if (!((::llvm::isa<::llzk::smt::SMTFuncType>(type)))) {
733 return parser.emitError(parser.getNameLoc()) <<
"'func' must be , but got " << type;
737 if (parser.resolveOperands(funcOperands, funcTypes, funcOperandsLoc, result.operands))
738 return ::mlir::failure();
739 if (parser.resolveOperands(argsOperands,
cast<SMTFuncType>(funcTypes[0]).getDomainTypes(), argsOperandsLoc, result.operands))
740 return ::mlir::failure();
741 return ::mlir::success();
750 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
751 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
752 _odsPrinter <<
' ' <<
":";
754 _odsPrinter <<
getFunc().getType();
757void ApplyFuncOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
776 return ::mlir::success();
779void ArrayBroadcastOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
780 odsState.addOperands(value);
781 odsState.addTypes(result);
784void ArrayBroadcastOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
785 odsState.addOperands(value);
786 assert(resultTypes.size() == 1u &&
"mismatched number of results");
787 odsState.addTypes(resultTypes);
790void ArrayBroadcastOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
791 assert(operands.size() == 1u &&
"mismatched number of parameters");
792 odsState.addOperands(operands);
793 odsState.addAttributes(attributes);
794 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
795 odsState.addTypes(resultTypes);
800 unsigned index = 0; (void)index;
803 for (
auto v : valueGroup0) {
804 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
805 return ::mlir::failure();
809 unsigned index = 0; (void)index;
812 for (
auto v : valueGroup0) {
813 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"result", index++)))
814 return ::mlir::failure();
818 return emitOpError(
"failed to verify that summary");
819 return ::mlir::success();
827 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
828 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
829 (void)valueOperandsLoc;
830 ::mlir::Type resultRawType{};
831 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
833 valueOperandsLoc = parser.getCurrentLocation();
834 if (parser.parseOperand(valueRawOperand))
835 return ::mlir::failure();
837 auto loc = parser.getCurrentLocation();(void)loc;
838 if (parser.parseOptionalAttrDict(result.attributes))
839 return ::mlir::failure();
841 if (parser.parseColon())
842 return ::mlir::failure();
844 if (parser.parseType(resultRawType))
845 return ::mlir::failure();
846 for (::mlir::Type type : resultTypes) {
848 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
849 return parser.emitError(parser.getNameLoc()) <<
"'result' must be , but got " << type;
852 result.addTypes(resultTypes);
853 if (parser.resolveOperands(valueOperands,
cast<ArrayType>(resultTypes[0]).getRangeType(), valueOperandsLoc, result.operands))
854 return ::mlir::failure();
855 return ::mlir::success();
861 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
862 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
863 _odsPrinter <<
' ' <<
":";
887 return ::mlir::success();
890void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index) {
891 odsState.addOperands(
array);
892 odsState.addOperands(index);
893 odsState.addTypes(result);
897 odsState.addOperands(
array);
898 odsState.addOperands(index);
900 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
902 odsState.location, odsState.operands,
903 odsState.attributes.getDictionary(odsState.getContext()),
904 odsState.getRawProperties(),
905 odsState.regions, inferredReturnTypes)))
906 odsState.addTypes(inferredReturnTypes);
908 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
912void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index) {
913 odsState.addOperands(
array);
914 odsState.addOperands(index);
915 assert(resultTypes.size() == 1u &&
"mismatched number of results");
916 odsState.addTypes(resultTypes);
919void ArraySelectOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
920 assert(operands.size() == 2u &&
"mismatched number of parameters");
921 odsState.addOperands(operands);
922 odsState.addAttributes(attributes);
923 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
924 odsState.addTypes(resultTypes);
927void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
928 assert(operands.size() == 2u &&
"mismatched number of parameters");
929 odsState.addOperands(operands);
930 odsState.addAttributes(attributes);
932 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
934 odsState.location, operands,
935 odsState.attributes.getDictionary(odsState.getContext()),
936 odsState.getRawProperties(),
937 odsState.regions, inferredReturnTypes))) {
938 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
939 odsState.addTypes(inferredReturnTypes);
941 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
947 unsigned index = 0; (void)index;
950 for (
auto v : valueGroup0) {
951 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"operand", index++)))
952 return ::mlir::failure();
956 for (
auto v : valueGroup1) {
957 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
958 return ::mlir::failure();
962 unsigned index = 0; (void)index;
965 for (
auto v : valueGroup0) {
966 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
967 return ::mlir::failure();
971 return emitOpError(
"failed to verify that summary");
973 return emitOpError(
"failed to verify that summary");
974 return ::mlir::success();
981::llvm::LogicalResult
ArraySelectOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
982 inferredReturnTypes.resize(1);
983 ::mlir::Builder odsBuilder(context);
984 if (operands.size() <= 0)
985 return ::mlir::failure();
986 ::mlir::Type odsInferredType0 =
cast<ArrayType>(operands[0].getType()).getRangeType();
987 inferredReturnTypes[0] = odsInferredType0;
988 return ::mlir::success();
992 ::mlir::OpAsmParser::UnresolvedOperand arrayRawOperand{};
993 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> arrayOperands(&arrayRawOperand, 1); ::llvm::SMLoc arrayOperandsLoc;
994 (void)arrayOperandsLoc;
995 ::mlir::OpAsmParser::UnresolvedOperand indexRawOperand{};
996 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> indexOperands(&indexRawOperand, 1); ::llvm::SMLoc indexOperandsLoc;
997 (void)indexOperandsLoc;
998 ::mlir::Type arrayRawType{};
999 ::llvm::ArrayRef<::mlir::Type> arrayTypes(&arrayRawType, 1);
1001 arrayOperandsLoc = parser.getCurrentLocation();
1002 if (parser.parseOperand(arrayRawOperand))
1003 return ::mlir::failure();
1004 if (parser.parseLSquare())
1005 return ::mlir::failure();
1007 indexOperandsLoc = parser.getCurrentLocation();
1008 if (parser.parseOperand(indexRawOperand))
1009 return ::mlir::failure();
1010 if (parser.parseRSquare())
1011 return ::mlir::failure();
1013 auto loc = parser.getCurrentLocation();(void)loc;
1014 if (parser.parseOptionalAttrDict(result.attributes))
1015 return ::mlir::failure();
1017 if (parser.parseColon())
1018 return ::mlir::failure();
1020 if (parser.parseType(arrayRawType))
1021 return ::mlir::failure();
1022 for (::mlir::Type type : arrayTypes) {
1024 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
1025 return parser.emitError(parser.getNameLoc()) <<
"'array' must be , but got " << type;
1029 if (parser.resolveOperands(arrayOperands, arrayTypes, arrayOperandsLoc, result.operands))
1030 return ::mlir::failure();
1031 if (parser.resolveOperands(indexOperands,
cast<ArrayType>(arrayTypes[0]).getDomainType(), indexOperandsLoc, result.operands))
1032 return ::mlir::failure();
1033 return ::mlir::success();
1042 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1043 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1044 _odsPrinter <<
' ' <<
":";
1046 _odsPrinter <<
getArray().getType();
1068 return ::mlir::success();
1071void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1072 odsState.addOperands(
array);
1073 odsState.addOperands(index);
1074 odsState.addOperands(value);
1075 odsState.addTypes(result);
1078void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1079 odsState.addOperands(
array);
1080 odsState.addOperands(index);
1081 odsState.addOperands(value);
1083 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1085 odsState.location, odsState.operands,
1086 odsState.attributes.getDictionary(odsState.getContext()),
1087 odsState.getRawProperties(),
1088 odsState.regions, inferredReturnTypes)))
1089 odsState.addTypes(inferredReturnTypes);
1091 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1095void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1096 odsState.addOperands(
array);
1097 odsState.addOperands(index);
1098 odsState.addOperands(value);
1099 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1100 odsState.addTypes(resultTypes);
1103void ArrayStoreOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1104 assert(operands.size() == 3u &&
"mismatched number of parameters");
1105 odsState.addOperands(operands);
1106 odsState.addAttributes(attributes);
1107 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1108 odsState.addTypes(resultTypes);
1111void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1112 assert(operands.size() == 3u &&
"mismatched number of parameters");
1113 odsState.addOperands(operands);
1114 odsState.addAttributes(attributes);
1116 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1118 odsState.location, operands,
1119 odsState.attributes.getDictionary(odsState.getContext()),
1120 odsState.getRawProperties(),
1121 odsState.regions, inferredReturnTypes))) {
1122 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1123 odsState.addTypes(inferredReturnTypes);
1125 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1131 unsigned index = 0; (void)index;
1134 for (
auto v : valueGroup0) {
1135 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"operand", index++)))
1136 return ::mlir::failure();
1140 for (
auto v : valueGroup1) {
1141 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
1142 return ::mlir::failure();
1146 for (
auto v : valueGroup2) {
1147 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
1148 return ::mlir::failure();
1152 unsigned index = 0; (void)index;
1155 for (
auto v : valueGroup0) {
1156 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"result", index++)))
1157 return ::mlir::failure();
1161 return emitOpError(
"failed to verify that summary");
1163 return emitOpError(
"failed to verify that summary");
1165 return emitOpError(
"failed to verify that all of {array, result} have same type");
1166 return ::mlir::success();
1173::llvm::LogicalResult
ArrayStoreOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
1174 inferredReturnTypes.resize(1);
1175 ::mlir::Builder odsBuilder(context);
1176 if (operands.size() <= 0)
1177 return ::mlir::failure();
1178 ::mlir::Type odsInferredType0 = operands[0].getType();
1179 inferredReturnTypes[0] = odsInferredType0;
1180 return ::mlir::success();
1184 ::mlir::OpAsmParser::UnresolvedOperand arrayRawOperand{};
1185 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> arrayOperands(&arrayRawOperand, 1); ::llvm::SMLoc arrayOperandsLoc;
1186 (void)arrayOperandsLoc;
1187 ::mlir::OpAsmParser::UnresolvedOperand indexRawOperand{};
1188 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> indexOperands(&indexRawOperand, 1); ::llvm::SMLoc indexOperandsLoc;
1189 (void)indexOperandsLoc;
1190 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
1191 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
1192 (void)valueOperandsLoc;
1193 ::mlir::Type arrayRawType{};
1194 ::llvm::ArrayRef<::mlir::Type> arrayTypes(&arrayRawType, 1);
1196 arrayOperandsLoc = parser.getCurrentLocation();
1197 if (parser.parseOperand(arrayRawOperand))
1198 return ::mlir::failure();
1199 if (parser.parseLSquare())
1200 return ::mlir::failure();
1202 indexOperandsLoc = parser.getCurrentLocation();
1203 if (parser.parseOperand(indexRawOperand))
1204 return ::mlir::failure();
1205 if (parser.parseRSquare())
1206 return ::mlir::failure();
1207 if (parser.parseComma())
1208 return ::mlir::failure();
1210 valueOperandsLoc = parser.getCurrentLocation();
1211 if (parser.parseOperand(valueRawOperand))
1212 return ::mlir::failure();
1214 auto loc = parser.getCurrentLocation();(void)loc;
1215 if (parser.parseOptionalAttrDict(result.attributes))
1216 return ::mlir::failure();
1218 if (parser.parseColon())
1219 return ::mlir::failure();
1221 if (parser.parseType(arrayRawType))
1222 return ::mlir::failure();
1223 for (::mlir::Type type : arrayTypes) {
1225 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
1226 return parser.emitError(parser.getNameLoc()) <<
"'array' must be , but got " << type;
1229 result.addTypes(arrayTypes[0]);
1230 if (parser.resolveOperands(arrayOperands, arrayTypes, arrayOperandsLoc, result.operands))
1231 return ::mlir::failure();
1232 if (parser.resolveOperands(indexOperands,
cast<ArrayType>(arrayTypes[0]).getDomainType(), indexOperandsLoc, result.operands))
1233 return ::mlir::failure();
1234 if (parser.resolveOperands(valueOperands,
cast<ArrayType>(arrayTypes[0]).getRangeType(), valueOperandsLoc, result.operands))
1235 return ::mlir::failure();
1236 return ::mlir::success();
1248 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1249 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1250 _odsPrinter <<
' ' <<
":";
1252 _odsPrinter <<
getArray().getType();
1274 return ::mlir::success();
1277void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
1278 odsState.addOperands(input);
1281void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
1282 odsState.addOperands(input);
1283 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1284 odsState.addTypes(resultTypes);
1287void AssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1288 assert(operands.size() == 1u &&
"mismatched number of parameters");
1289 odsState.addOperands(operands);
1290 odsState.addAttributes(attributes);
1291 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1292 odsState.addTypes(resultTypes);
1297 unsigned index = 0; (void)index;
1300 for (
auto v : valueGroup0) {
1301 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
1302 return ::mlir::failure();
1305 return ::mlir::success();
1312::mlir::ParseResult
AssertOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1313 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
1314 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
1315 (void)inputOperandsLoc;
1317 inputOperandsLoc = parser.getCurrentLocation();
1318 if (parser.parseOperand(inputRawOperand))
1319 return ::mlir::failure();
1321 auto loc = parser.getCurrentLocation();(void)loc;
1322 if (parser.parseOptionalAttrDict(result.attributes))
1323 return ::mlir::failure();
1326 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
1327 return ::mlir::failure();
1328 return ::mlir::success();
1334 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1335 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1353 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().is_signed);
1355 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
1362 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
1363 return attr !=
nullptr;
1372 if (tblgen_is_signed && !((::llvm::isa<::mlir::UnitAttr>(tblgen_is_signed))))
1373 return emitError(loc,
"'smt.bv2int' op ""attribute 'is_signed' failed to satisfy constraint: unit attribute");
1374 return ::mlir::success();
1378 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1380 emitError() <<
"expected DictionaryAttr to set properties";
1381 return ::mlir::failure();
1386 auto attr = dict.get(
"is_signed");
1388 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1389 if (convertedAttr) {
1390 propStorage = convertedAttr;
1392 emitError() <<
"Invalid attribute `is_signed` in property conversion: " << attr;
1393 return ::mlir::failure();
1397 return ::mlir::success();
1401 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1402 ::mlir::Builder odsBuilder{ctx};
1405 const auto &propStorage = prop.
is_signed;
1407 attrs.push_back(odsBuilder.getNamedAttr(
"is_signed",
1412 return odsBuilder.getDictionaryAttr(attrs);
1417 return llvm::hash_combine(
1418 llvm::hash_value(prop.
is_signed.getAsOpaquePointer()));
1422 if (name ==
"is_signed")
1424 return std::nullopt;
1428 if (name ==
"is_signed") {
1429 prop.
is_signed = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
is_signed)>>(value);
1438::llvm::LogicalResult
BV2IntOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1441 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"is_signed", emitError)))
1442 return ::mlir::failure();
1444 return ::mlir::success();
1448 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1449 if (::mlir::failed(reader.readOptionalAttribute(prop.
is_signed)))
1450 return ::mlir::failure();
1451 return ::mlir::success();
1455 auto &prop = getProperties(); (void)prop;
1457 writer.writeOptionalAttribute(prop.
is_signed);
1463 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
1464 return attr !=
nullptr;
1468 auto &odsProp = getProperties().is_signed;
1470 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
1475void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1476 odsState.addOperands(input);
1478 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1480 odsState.addTypes(result);
1483void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1484 odsState.addOperands(input);
1486 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1489 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1491 odsState.location, odsState.operands,
1492 odsState.attributes.getDictionary(odsState.getContext()),
1493 odsState.getRawProperties(),
1494 odsState.regions, inferredReturnTypes)))
1495 odsState.addTypes(inferredReturnTypes);
1497 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1501void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1502 odsState.addOperands(input);
1504 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1506 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1507 odsState.addTypes(resultTypes);
1510void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input,
bool is_signed) {
1511 odsState.addOperands(input);
1513 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1515 odsState.addTypes(result);
1518void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input,
bool is_signed) {
1519 odsState.addOperands(input);
1521 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1524 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1526 odsState.location, odsState.operands,
1527 odsState.attributes.getDictionary(odsState.getContext()),
1528 odsState.getRawProperties(),
1529 odsState.regions, inferredReturnTypes)))
1530 odsState.addTypes(inferredReturnTypes);
1532 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1536void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input,
bool is_signed) {
1537 odsState.addOperands(input);
1539 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1541 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1542 odsState.addTypes(resultTypes);
1545void BV2IntOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1546 assert(operands.size() == 1u &&
"mismatched number of parameters");
1547 odsState.addOperands(operands);
1548 odsState.addAttributes(attributes);
1549 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1550 odsState.addTypes(resultTypes);
1552 if (!attributes.empty()) {
1553 ::mlir::OpaqueProperties properties =
1555 std::optional<::mlir::RegisteredOperationName> info =
1556 odsState.name.getRegisteredInfo();
1557 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1558 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1559 ::llvm::report_fatal_error(
"Property conversion failed.");
1563void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1564 assert(operands.size() == 1u &&
"mismatched number of parameters");
1565 odsState.addOperands(operands);
1566 odsState.addAttributes(attributes);
1568 if (!attributes.empty()) {
1569 ::mlir::OpaqueProperties properties =
1571 std::optional<::mlir::RegisteredOperationName> info =
1572 odsState.name.getRegisteredInfo();
1573 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1574 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1575 ::llvm::report_fatal_error(
"Property conversion failed.");
1577 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1579 odsState.location, operands,
1580 odsState.attributes.getDictionary(odsState.getContext()),
1581 odsState.getRawProperties(),
1582 odsState.regions, inferredReturnTypes))) {
1583 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1584 odsState.addTypes(inferredReturnTypes);
1586 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1591 auto tblgen_is_signed = getProperties().is_signed; (void)tblgen_is_signed;
1593 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_is_signed,
"is_signed")))
1594 return ::mlir::failure();
1596 unsigned index = 0; (void)index;
1599 for (
auto v : valueGroup0) {
1600 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1601 return ::mlir::failure();
1605 unsigned index = 0; (void)index;
1608 for (
auto v : valueGroup0) {
1609 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
1610 return ::mlir::failure();
1613 return ::mlir::success();
1620::llvm::LogicalResult
BV2IntOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
1621 inferredReturnTypes.resize(1);
1622 ::mlir::Builder odsBuilder(context);
1624 inferredReturnTypes[0] = odsInferredType0;
1625 return ::mlir::success();
1628::mlir::ParseResult
BV2IntOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1629 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
1630 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
1631 (void)inputOperandsLoc;
1632 ::mlir::Type inputRawType{};
1633 ::llvm::ArrayRef<::mlir::Type> inputTypes(&inputRawType, 1);
1635 inputOperandsLoc = parser.getCurrentLocation();
1636 if (parser.parseOperand(inputRawOperand))
1637 return ::mlir::failure();
1638 if (::mlir::succeeded(parser.parseOptionalKeyword(
"signed"))) {
1639 result.getOrAddProperties<
BV2IntOp::Properties>().is_signed = parser.getBuilder().getUnitAttr(); }
1641 auto loc = parser.getCurrentLocation();(void)loc;
1642 if (parser.parseOptionalAttrDict(result.attributes))
1643 return ::mlir::failure();
1645 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1647 return ::mlir::failure();
1649 if (parser.parseColon())
1650 return ::mlir::failure();
1652 if (parser.parseType(inputRawType))
1653 return ::mlir::failure();
1655 result.addTypes(odsBuildableType0);
1656 if (parser.resolveOperands(inputOperands, inputTypes, inputOperandsLoc, result.operands))
1657 return ::mlir::failure();
1658 return ::mlir::success();
1665 _odsPrinter <<
' ' <<
"signed";
1667 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1668 elidedAttrs.push_back(
"is_signed");
1670 ::mlir::Builder odsBuilder(getContext());
1672 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
1673 elidedAttrs.push_back(
"is_signed");
1675 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1676 _odsPrinter <<
' ' <<
":";
1678 _odsPrinter <<
getInput().getType();
1681void BV2IntOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1700 return ::mlir::success();
1703void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1704 odsState.addOperands(lhs);
1705 odsState.addOperands(rhs);
1706 odsState.addTypes(result);
1709void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1710 odsState.addOperands(lhs);
1711 odsState.addOperands(rhs);
1713 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1715 odsState.location, odsState.operands,
1716 odsState.attributes.getDictionary(odsState.getContext()),
1717 odsState.getRawProperties(),
1718 odsState.regions, inferredReturnTypes)))
1719 odsState.addTypes(inferredReturnTypes);
1721 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1725void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1726 odsState.addOperands(lhs);
1727 odsState.addOperands(rhs);
1728 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1729 odsState.addTypes(resultTypes);
1732void BVAShrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1733 assert(operands.size() == 2u &&
"mismatched number of parameters");
1734 odsState.addOperands(operands);
1735 odsState.addAttributes(attributes);
1736 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1737 odsState.addTypes(resultTypes);
1740void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1741 assert(operands.size() == 2u &&
"mismatched number of parameters");
1742 odsState.addOperands(operands);
1743 odsState.addAttributes(attributes);
1745 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1747 odsState.location, operands,
1748 odsState.attributes.getDictionary(odsState.getContext()),
1749 odsState.getRawProperties(),
1750 odsState.regions, inferredReturnTypes))) {
1751 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1752 odsState.addTypes(inferredReturnTypes);
1754 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1760 unsigned index = 0; (void)index;
1763 for (
auto v : valueGroup0) {
1764 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1765 return ::mlir::failure();
1769 for (
auto v : valueGroup1) {
1770 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1771 return ::mlir::failure();
1775 unsigned index = 0; (void)index;
1778 for (
auto v : valueGroup0) {
1779 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
1780 return ::mlir::failure();
1783 return ::mlir::success();
1790::llvm::LogicalResult
BVAShrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
1791 inferredReturnTypes.resize(1);
1792 ::mlir::Builder odsBuilder(context);
1793 if (operands.size() <= 0)
1794 return ::mlir::failure();
1795 ::mlir::Type odsInferredType0 = operands[0].getType();
1796 inferredReturnTypes[0] = odsInferredType0;
1797 return ::mlir::success();
1800::mlir::ParseResult
BVAShrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1801 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1802 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1803 (void)lhsOperandsLoc;
1804 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1805 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1806 (void)rhsOperandsLoc;
1807 ::mlir::Type resultRawType{};
1808 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
1810 lhsOperandsLoc = parser.getCurrentLocation();
1811 if (parser.parseOperand(lhsRawOperand))
1812 return ::mlir::failure();
1813 if (parser.parseComma())
1814 return ::mlir::failure();
1816 rhsOperandsLoc = parser.getCurrentLocation();
1817 if (parser.parseOperand(rhsRawOperand))
1818 return ::mlir::failure();
1820 auto loc = parser.getCurrentLocation();(void)loc;
1821 if (parser.parseOptionalAttrDict(result.attributes))
1822 return ::mlir::failure();
1824 if (parser.parseColon())
1825 return ::mlir::failure();
1827 if (parser.parseType(resultRawType))
1828 return ::mlir::failure();
1829 result.addTypes(resultTypes);
1830 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
1831 return ::mlir::failure();
1832 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
1833 return ::mlir::failure();
1834 return ::mlir::success();
1843 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1844 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1845 _odsPrinter <<
' ' <<
":";
1850void BVAShrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1869 return ::mlir::success();
1872void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1873 odsState.addOperands(lhs);
1874 odsState.addOperands(rhs);
1875 odsState.addTypes(result);
1878void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1879 odsState.addOperands(lhs);
1880 odsState.addOperands(rhs);
1882 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1884 odsState.location, odsState.operands,
1885 odsState.attributes.getDictionary(odsState.getContext()),
1886 odsState.getRawProperties(),
1887 odsState.regions, inferredReturnTypes)))
1888 odsState.addTypes(inferredReturnTypes);
1890 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1894void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1895 odsState.addOperands(lhs);
1896 odsState.addOperands(rhs);
1897 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1898 odsState.addTypes(resultTypes);
1901void BVAddOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1902 assert(operands.size() == 2u &&
"mismatched number of parameters");
1903 odsState.addOperands(operands);
1904 odsState.addAttributes(attributes);
1905 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1906 odsState.addTypes(resultTypes);
1909void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1910 assert(operands.size() == 2u &&
"mismatched number of parameters");
1911 odsState.addOperands(operands);
1912 odsState.addAttributes(attributes);
1914 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1916 odsState.location, operands,
1917 odsState.attributes.getDictionary(odsState.getContext()),
1918 odsState.getRawProperties(),
1919 odsState.regions, inferredReturnTypes))) {
1920 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1921 odsState.addTypes(inferredReturnTypes);
1923 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1929 unsigned index = 0; (void)index;
1932 for (
auto v : valueGroup0) {
1933 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1934 return ::mlir::failure();
1938 for (
auto v : valueGroup1) {
1939 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1940 return ::mlir::failure();
1944 unsigned index = 0; (void)index;
1947 for (
auto v : valueGroup0) {
1948 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
1949 return ::mlir::failure();
1952 return ::mlir::success();
1959::llvm::LogicalResult
BVAddOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
1960 inferredReturnTypes.resize(1);
1961 ::mlir::Builder odsBuilder(context);
1962 if (operands.size() <= 0)
1963 return ::mlir::failure();
1964 ::mlir::Type odsInferredType0 = operands[0].getType();
1965 inferredReturnTypes[0] = odsInferredType0;
1966 return ::mlir::success();
1969::mlir::ParseResult
BVAddOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1970 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1971 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1972 (void)lhsOperandsLoc;
1973 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1974 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1975 (void)rhsOperandsLoc;
1976 ::mlir::Type resultRawType{};
1977 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
1979 lhsOperandsLoc = parser.getCurrentLocation();
1980 if (parser.parseOperand(lhsRawOperand))
1981 return ::mlir::failure();
1982 if (parser.parseComma())
1983 return ::mlir::failure();
1985 rhsOperandsLoc = parser.getCurrentLocation();
1986 if (parser.parseOperand(rhsRawOperand))
1987 return ::mlir::failure();
1989 auto loc = parser.getCurrentLocation();(void)loc;
1990 if (parser.parseOptionalAttrDict(result.attributes))
1991 return ::mlir::failure();
1993 if (parser.parseColon())
1994 return ::mlir::failure();
1996 if (parser.parseType(resultRawType))
1997 return ::mlir::failure();
1998 result.addTypes(resultTypes);
1999 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
2000 return ::mlir::failure();
2001 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
2002 return ::mlir::failure();
2003 return ::mlir::success();
2012 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2013 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2014 _odsPrinter <<
' ' <<
":";
2019void BVAddOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2038 return ::mlir::success();
2041void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2042 odsState.addOperands(lhs);
2043 odsState.addOperands(rhs);
2044 odsState.addTypes(result);
2047void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2048 odsState.addOperands(lhs);
2049 odsState.addOperands(rhs);
2051 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2053 odsState.location, odsState.operands,
2054 odsState.attributes.getDictionary(odsState.getContext()),
2055 odsState.getRawProperties(),
2056 odsState.regions, inferredReturnTypes)))
2057 odsState.addTypes(inferredReturnTypes);
2059 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2063void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2064 odsState.addOperands(lhs);
2065 odsState.addOperands(rhs);
2066 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2067 odsState.addTypes(resultTypes);
2070void BVAndOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2071 assert(operands.size() == 2u &&
"mismatched number of parameters");
2072 odsState.addOperands(operands);
2073 odsState.addAttributes(attributes);
2074 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2075 odsState.addTypes(resultTypes);
2078void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2079 assert(operands.size() == 2u &&
"mismatched number of parameters");
2080 odsState.addOperands(operands);
2081 odsState.addAttributes(attributes);
2083 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2085 odsState.location, operands,
2086 odsState.attributes.getDictionary(odsState.getContext()),
2087 odsState.getRawProperties(),
2088 odsState.regions, inferredReturnTypes))) {
2089 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2090 odsState.addTypes(inferredReturnTypes);
2092 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2098 unsigned index = 0; (void)index;
2101 for (
auto v : valueGroup0) {
2102 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2103 return ::mlir::failure();
2107 for (
auto v : valueGroup1) {
2108 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2109 return ::mlir::failure();
2113 unsigned index = 0; (void)index;
2116 for (
auto v : valueGroup0) {
2117 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2118 return ::mlir::failure();
2121 return ::mlir::success();
2128::llvm::LogicalResult
BVAndOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2129 inferredReturnTypes.resize(1);
2130 ::mlir::Builder odsBuilder(context);
2131 if (operands.size() <= 0)
2132 return ::mlir::failure();
2133 ::mlir::Type odsInferredType0 = operands[0].getType();
2134 inferredReturnTypes[0] = odsInferredType0;
2135 return ::mlir::success();
2138::mlir::ParseResult
BVAndOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2139 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2140 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2141 (void)lhsOperandsLoc;
2142 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2143 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2144 (void)rhsOperandsLoc;
2145 ::mlir::Type resultRawType{};
2146 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
2148 lhsOperandsLoc = parser.getCurrentLocation();
2149 if (parser.parseOperand(lhsRawOperand))
2150 return ::mlir::failure();
2151 if (parser.parseComma())
2152 return ::mlir::failure();
2154 rhsOperandsLoc = parser.getCurrentLocation();
2155 if (parser.parseOperand(rhsRawOperand))
2156 return ::mlir::failure();
2158 auto loc = parser.getCurrentLocation();(void)loc;
2159 if (parser.parseOptionalAttrDict(result.attributes))
2160 return ::mlir::failure();
2162 if (parser.parseColon())
2163 return ::mlir::failure();
2165 if (parser.parseType(resultRawType))
2166 return ::mlir::failure();
2167 result.addTypes(resultTypes);
2168 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
2169 return ::mlir::failure();
2170 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
2171 return ::mlir::failure();
2172 return ::mlir::success();
2181 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2182 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2183 _odsPrinter <<
' ' <<
":";
2188void BVAndOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2207 return attr.getValue();
2215 if (!tblgen_pred)
return emitError(loc,
"'smt.bv.cmp' op ""requires attribute 'pred'");
2217 if (tblgen_pred && !((::llvm::isa<::llzk::smt::BVCmpPredicateAttr>(tblgen_pred))))
2218 return emitError(loc,
"'smt.bv.cmp' op ""attribute 'pred' failed to satisfy constraint: smt bit-vector comparison predicate");
2219 return ::mlir::success();
2223 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2225 emitError() <<
"expected DictionaryAttr to set properties";
2226 return ::mlir::failure();
2230 auto &propStorage = prop.
pred;
2231 auto attr = dict.
get(
"pred");
2233 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
2234 if (convertedAttr) {
2235 propStorage = convertedAttr;
2237 emitError() <<
"Invalid attribute `pred` in property conversion: " << attr;
2238 return ::mlir::failure();
2242 return ::mlir::success();
2246 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2247 ::mlir::Builder odsBuilder{ctx};
2250 const auto &propStorage = prop.
pred;
2252 attrs.push_back(odsBuilder.getNamedAttr(
"pred",
2257 return odsBuilder.getDictionaryAttr(attrs);
2262 return llvm::hash_combine(
2263 llvm::hash_value(prop.
pred.getAsOpaquePointer()));
2269 return std::nullopt;
2273 if (name ==
"pred") {
2274 prop.
pred = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
pred)>>(value);
2280 if (prop.
pred) attrs.append(
"pred", prop.
pred);
2283::llvm::LogicalResult
BVCmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
2286 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT2(attr,
"pred", emitError)))
2287 return ::mlir::failure();
2289 return ::mlir::success();
2293 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
2294 if (::mlir::failed(reader.readAttribute(prop.
pred)))
2295 return ::mlir::failure();
2296 return ::mlir::success();
2300 auto &prop = getProperties(); (void)prop;
2301 writer.writeAttribute(prop.
pred);
2306 return attr.getValue();
2314 odsState.addOperands(lhs);
2315 odsState.addOperands(rhs);
2316 odsState.getOrAddProperties<
Properties>().pred = pred;
2317 odsState.addTypes(result);
2321 odsState.addOperands(lhs);
2322 odsState.addOperands(rhs);
2323 odsState.getOrAddProperties<
Properties>().pred = pred;
2325 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2327 odsState.location, odsState.operands,
2328 odsState.attributes.getDictionary(odsState.getContext()),
2329 odsState.getRawProperties(),
2330 odsState.regions, inferredReturnTypes)))
2331 odsState.addTypes(inferredReturnTypes);
2333 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2338 odsState.addOperands(lhs);
2339 odsState.addOperands(rhs);
2340 odsState.getOrAddProperties<
Properties>().pred = pred;
2341 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2342 odsState.addTypes(resultTypes);
2346 odsState.addOperands(lhs);
2347 odsState.addOperands(rhs);
2349 odsState.addTypes(result);
2353 odsState.addOperands(lhs);
2354 odsState.addOperands(rhs);
2357 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2359 odsState.location, odsState.operands,
2360 odsState.attributes.getDictionary(odsState.getContext()),
2361 odsState.getRawProperties(),
2362 odsState.regions, inferredReturnTypes)))
2363 odsState.addTypes(inferredReturnTypes);
2365 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2370 odsState.addOperands(lhs);
2371 odsState.addOperands(rhs);
2373 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2374 odsState.addTypes(resultTypes);
2377void BVCmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2378 assert(operands.size() == 2u &&
"mismatched number of parameters");
2379 odsState.addOperands(operands);
2380 odsState.addAttributes(attributes);
2381 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2382 odsState.addTypes(resultTypes);
2384 if (!attributes.empty()) {
2385 ::mlir::OpaqueProperties properties =
2387 std::optional<::mlir::RegisteredOperationName> info =
2388 odsState.name.getRegisteredInfo();
2389 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2390 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2391 ::llvm::report_fatal_error(
"Property conversion failed.");
2395void BVCmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2396 assert(operands.size() == 2u &&
"mismatched number of parameters");
2397 odsState.addOperands(operands);
2398 odsState.addAttributes(attributes);
2400 if (!attributes.empty()) {
2401 ::mlir::OpaqueProperties properties =
2403 std::optional<::mlir::RegisteredOperationName> info =
2404 odsState.name.getRegisteredInfo();
2405 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2406 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2407 ::llvm::report_fatal_error(
"Property conversion failed.");
2409 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2411 odsState.location, operands,
2412 odsState.attributes.getDictionary(odsState.getContext()),
2413 odsState.getRawProperties(),
2414 odsState.regions, inferredReturnTypes))) {
2415 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2416 odsState.addTypes(inferredReturnTypes);
2418 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2423 auto tblgen_pred = getProperties().pred; (void)tblgen_pred;
2424 if (!tblgen_pred)
return emitOpError(
"requires attribute 'pred'");
2426 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT2(*
this, tblgen_pred,
"pred")))
2427 return ::mlir::failure();
2429 unsigned index = 0; (void)index;
2432 for (
auto v : valueGroup0) {
2433 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2434 return ::mlir::failure();
2438 for (
auto v : valueGroup1) {
2439 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2440 return ::mlir::failure();
2444 unsigned index = 0; (void)index;
2447 for (
auto v : valueGroup0) {
2448 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
2449 return ::mlir::failure();
2452 return ::mlir::success();
2459::llvm::LogicalResult
BVCmpOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2460 inferredReturnTypes.resize(1);
2461 ::mlir::Builder odsBuilder(context);
2463 inferredReturnTypes[0] = odsInferredType0;
2464 return ::mlir::success();
2467::mlir::ParseResult
BVCmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2469 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2470 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2471 (void)lhsOperandsLoc;
2472 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2473 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2474 (void)rhsOperandsLoc;
2475 ::mlir::Type lhsRawType{};
2476 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
2479 ::llvm::StringRef attrStr;
2480 ::mlir::NamedAttrList attrStorage;
2481 auto loc = parser.getCurrentLocation();
2482 if (parser.parseOptionalKeyword(&attrStr, {
"slt",
"sle",
"sgt",
"sge",
"ult",
"ule",
"ugt",
"uge"})) {
2483 ::mlir::StringAttr attrVal;
2484 ::mlir::OptionalParseResult parseResult =
2485 parser.parseOptionalAttribute(attrVal,
2486 parser.getBuilder().getNoneType(),
2487 "pred", attrStorage);
2488 if (parseResult.has_value()) {
2489 if (failed(*parseResult))
2490 return ::mlir::failure();
2491 attrStr = attrVal.getValue();
2493 return parser.emitError(loc,
"expected string or keyword containing one of the following enum values for attribute 'pred' [slt, sle, sgt, sge, ult, ule, ugt, uge]");
2496 if (!attrStr.empty()) {
2499 return parser.emitError(loc,
"invalid ")
2500 <<
"pred attribute specification: \"" << attrStr <<
'"';;
2507 lhsOperandsLoc = parser.getCurrentLocation();
2508 if (parser.parseOperand(lhsRawOperand))
2509 return ::mlir::failure();
2510 if (parser.parseComma())
2511 return ::mlir::failure();
2513 rhsOperandsLoc = parser.getCurrentLocation();
2514 if (parser.parseOperand(rhsRawOperand))
2515 return ::mlir::failure();
2517 auto loc = parser.getCurrentLocation();(void)loc;
2518 if (parser.parseOptionalAttrDict(result.attributes))
2519 return ::mlir::failure();
2521 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2523 return ::mlir::failure();
2525 if (parser.parseColon())
2526 return ::mlir::failure();
2528 if (parser.parseType(lhsRawType))
2529 return ::mlir::failure();
2531 result.addTypes(odsBuildableType0);
2532 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2533 return ::mlir::failure();
2534 if (parser.resolveOperands(rhsOperands, lhsTypes[0], rhsOperandsLoc, result.operands))
2535 return ::mlir::failure();
2536 return ::mlir::success();
2545 _odsPrinter << caseValueStr;
2552 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2553 elidedAttrs.push_back(
"pred");
2554 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2555 _odsPrinter <<
' ' <<
":";
2557 _odsPrinter <<
getLhs().getType();
2560void BVCmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2579 return ::llvm::cast<::llzk::smt::BitVectorAttr>(attr);
2587 if (!tblgen_value)
return emitError(loc,
"'smt.bv.constant' op ""requires attribute 'value'");
2589 if (tblgen_value && !((::llvm::isa<::llzk::smt::BitVectorAttr>(tblgen_value))))
2590 return emitError(loc,
"'smt.bv.constant' op ""attribute 'value' failed to satisfy constraint: ");
2591 return ::mlir::success();
2595 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2597 emitError() <<
"expected DictionaryAttr to set properties";
2598 return ::mlir::failure();
2602 auto &propStorage = prop.
value;
2603 auto attr = dict.get(
"value");
2605 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
2606 if (convertedAttr) {
2607 propStorage = convertedAttr;
2609 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
2610 return ::mlir::failure();
2614 return ::mlir::success();
2618 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2619 ::mlir::Builder odsBuilder{ctx};
2622 const auto &propStorage = prop.
value;
2624 attrs.push_back(odsBuilder.getNamedAttr(
"value",
2629 return odsBuilder.getDictionaryAttr(attrs);
2634 return llvm::hash_combine(
2635 llvm::hash_value(prop.
value.getAsOpaquePointer()));
2639 if (name ==
"value")
2641 return std::nullopt;
2645 if (name ==
"value") {
2646 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
2652 if (prop.
value) attrs.append(
"value", prop.
value);
2658 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT3(attr,
"value", emitError)))
2659 return ::mlir::failure();
2661 return ::mlir::success();
2665 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
2666 if (::mlir::failed(reader.readAttribute(prop.
value)))
2667 return ::mlir::failure();
2668 return ::mlir::success();
2672 auto &prop = getProperties(); (void)prop;
2673 writer.writeAttribute(prop.
value);
2678 return ::llvm::cast<::llzk::smt::BitVectorAttr>(attr);
2681void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
const llvm::APInt &value) {
2682 build(odsBuilder, odsState,
2683 BitVectorAttr::get(odsBuilder.getContext(), value));
2687void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint64_t value,
unsigned width) {
2688 build(odsBuilder, odsState,
2689 BitVectorAttr::get(odsBuilder.getContext(), value, width));
2693void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BitVectorAttr value) {
2694 odsState.getOrAddProperties<
Properties>().value = value;
2695 odsState.addTypes(result);
2698void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::BitVectorAttr value) {
2699 odsState.getOrAddProperties<
Properties>().value = value;
2701 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2703 odsState.location, odsState.operands,
2704 odsState.attributes.getDictionary(odsState.getContext()),
2705 odsState.getRawProperties(),
2706 odsState.regions, inferredReturnTypes)))
2707 odsState.addTypes(inferredReturnTypes);
2709 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2713void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::BitVectorAttr value) {
2714 odsState.getOrAddProperties<
Properties>().value = value;
2715 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2716 odsState.addTypes(resultTypes);
2719void BVConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2720 assert(operands.size() == 0u &&
"mismatched number of parameters");
2721 odsState.addOperands(operands);
2722 odsState.addAttributes(attributes);
2723 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2724 odsState.addTypes(resultTypes);
2726 if (!attributes.empty()) {
2727 ::mlir::OpaqueProperties properties =
2729 std::optional<::mlir::RegisteredOperationName> info =
2730 odsState.name.getRegisteredInfo();
2731 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2732 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2733 ::llvm::report_fatal_error(
"Property conversion failed.");
2737void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2738 assert(operands.size() == 0u &&
"mismatched number of parameters");
2739 odsState.addOperands(operands);
2740 odsState.addAttributes(attributes);
2742 if (!attributes.empty()) {
2743 ::mlir::OpaqueProperties properties =
2745 std::optional<::mlir::RegisteredOperationName> info =
2746 odsState.name.getRegisteredInfo();
2747 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2748 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2749 ::llvm::report_fatal_error(
"Property conversion failed.");
2751 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2753 odsState.location, operands,
2754 odsState.attributes.getDictionary(odsState.getContext()),
2755 odsState.getRawProperties(),
2756 odsState.regions, inferredReturnTypes))) {
2757 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2758 odsState.addTypes(inferredReturnTypes);
2760 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2765 auto tblgen_value = getProperties().value; (void)tblgen_value;
2766 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
2768 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT3(*
this, tblgen_value,
"value")))
2769 return ::mlir::failure();
2771 unsigned index = 0; (void)index;
2774 for (
auto v : valueGroup0) {
2775 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2776 return ::mlir::failure();
2779 return ::mlir::success();
2787 ::llzk::smt::BitVectorAttr valueAttr;
2789 if (parser.parseAttribute(valueAttr, ::mlir::Type{}))
2790 return ::mlir::failure();
2793 auto loc = parser.getCurrentLocation();(void)loc;
2794 if (parser.parseOptionalAttrDict(result.attributes))
2795 return ::mlir::failure();
2797 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2799 return ::mlir::failure();
2802 ::llvm::SmallVector<::mlir::Type> inferredReturnTypes;
2804 result.location, result.operands,
2805 result.attributes.getDictionary(parser.getContext()),
2806 result.getRawProperties(),
2807 result.regions, inferredReturnTypes)))
2808 return ::mlir::failure();
2809 result.addTypes(inferredReturnTypes);
2810 return ::mlir::success();
2816 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2817 elidedAttrs.push_back(
"value");
2818 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2840 return ::mlir::success();
2843void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2844 odsState.addOperands(lhs);
2845 odsState.addOperands(rhs);
2846 odsState.addTypes(result);
2849void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2850 odsState.addOperands(lhs);
2851 odsState.addOperands(rhs);
2853 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2855 odsState.location, odsState.operands,
2856 odsState.attributes.getDictionary(odsState.getContext()),
2857 odsState.getRawProperties(),
2858 odsState.regions, inferredReturnTypes)))
2859 odsState.addTypes(inferredReturnTypes);
2861 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2865void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2866 odsState.addOperands(lhs);
2867 odsState.addOperands(rhs);
2868 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2869 odsState.addTypes(resultTypes);
2872void BVLShrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2873 assert(operands.size() == 2u &&
"mismatched number of parameters");
2874 odsState.addOperands(operands);
2875 odsState.addAttributes(attributes);
2876 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2877 odsState.addTypes(resultTypes);
2880void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2881 assert(operands.size() == 2u &&
"mismatched number of parameters");
2882 odsState.addOperands(operands);
2883 odsState.addAttributes(attributes);
2885 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2887 odsState.location, operands,
2888 odsState.attributes.getDictionary(odsState.getContext()),
2889 odsState.getRawProperties(),
2890 odsState.regions, inferredReturnTypes))) {
2891 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2892 odsState.addTypes(inferredReturnTypes);
2894 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2900 unsigned index = 0; (void)index;
2903 for (
auto v : valueGroup0) {
2904 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2905 return ::mlir::failure();
2909 for (
auto v : valueGroup1) {
2910 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2911 return ::mlir::failure();
2915 unsigned index = 0; (void)index;
2918 for (
auto v : valueGroup0) {
2919 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2920 return ::mlir::failure();
2923 return ::mlir::success();
2930::llvm::LogicalResult
BVLShrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
2931 inferredReturnTypes.resize(1);
2932 ::mlir::Builder odsBuilder(context);
2933 if (operands.size() <= 0)
2934 return ::mlir::failure();
2935 ::mlir::Type odsInferredType0 = operands[0].getType();
2936 inferredReturnTypes[0] = odsInferredType0;
2937 return ::mlir::success();
2940::mlir::ParseResult
BVLShrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2941 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2942 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2943 (void)lhsOperandsLoc;
2944 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2945 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2946 (void)rhsOperandsLoc;
2947 ::mlir::Type resultRawType{};
2948 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
2950 lhsOperandsLoc = parser.getCurrentLocation();
2951 if (parser.parseOperand(lhsRawOperand))
2952 return ::mlir::failure();
2953 if (parser.parseComma())
2954 return ::mlir::failure();
2956 rhsOperandsLoc = parser.getCurrentLocation();
2957 if (parser.parseOperand(rhsRawOperand))
2958 return ::mlir::failure();
2960 auto loc = parser.getCurrentLocation();(void)loc;
2961 if (parser.parseOptionalAttrDict(result.attributes))
2962 return ::mlir::failure();
2964 if (parser.parseColon())
2965 return ::mlir::failure();
2967 if (parser.parseType(resultRawType))
2968 return ::mlir::failure();
2969 result.addTypes(resultTypes);
2970 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
2971 return ::mlir::failure();
2972 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
2973 return ::mlir::failure();
2974 return ::mlir::success();
2983 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2984 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2985 _odsPrinter <<
' ' <<
":";
2990void BVLShrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3009 return ::mlir::success();
3012void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3013 odsState.addOperands(lhs);
3014 odsState.addOperands(rhs);
3015 odsState.addTypes(result);
3018void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3019 odsState.addOperands(lhs);
3020 odsState.addOperands(rhs);
3022 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3024 odsState.location, odsState.operands,
3025 odsState.attributes.getDictionary(odsState.getContext()),
3026 odsState.getRawProperties(),
3027 odsState.regions, inferredReturnTypes)))
3028 odsState.addTypes(inferredReturnTypes);
3030 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3034void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3035 odsState.addOperands(lhs);
3036 odsState.addOperands(rhs);
3037 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3038 odsState.addTypes(resultTypes);
3041void BVMulOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3042 assert(operands.size() == 2u &&
"mismatched number of parameters");
3043 odsState.addOperands(operands);
3044 odsState.addAttributes(attributes);
3045 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3046 odsState.addTypes(resultTypes);
3049void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3050 assert(operands.size() == 2u &&
"mismatched number of parameters");
3051 odsState.addOperands(operands);
3052 odsState.addAttributes(attributes);
3054 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3056 odsState.location, operands,
3057 odsState.attributes.getDictionary(odsState.getContext()),
3058 odsState.getRawProperties(),
3059 odsState.regions, inferredReturnTypes))) {
3060 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3061 odsState.addTypes(inferredReturnTypes);
3063 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3069 unsigned index = 0; (void)index;
3072 for (
auto v : valueGroup0) {
3073 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3074 return ::mlir::failure();
3078 for (
auto v : valueGroup1) {
3079 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3080 return ::mlir::failure();
3084 unsigned index = 0; (void)index;
3087 for (
auto v : valueGroup0) {
3088 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3089 return ::mlir::failure();
3092 return ::mlir::success();
3099::llvm::LogicalResult
BVMulOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3100 inferredReturnTypes.resize(1);
3101 ::mlir::Builder odsBuilder(context);
3102 if (operands.size() <= 0)
3103 return ::mlir::failure();
3104 ::mlir::Type odsInferredType0 = operands[0].getType();
3105 inferredReturnTypes[0] = odsInferredType0;
3106 return ::mlir::success();
3109::mlir::ParseResult
BVMulOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3110 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3111 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3112 (void)lhsOperandsLoc;
3113 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3114 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3115 (void)rhsOperandsLoc;
3116 ::mlir::Type resultRawType{};
3117 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3119 lhsOperandsLoc = parser.getCurrentLocation();
3120 if (parser.parseOperand(lhsRawOperand))
3121 return ::mlir::failure();
3122 if (parser.parseComma())
3123 return ::mlir::failure();
3125 rhsOperandsLoc = parser.getCurrentLocation();
3126 if (parser.parseOperand(rhsRawOperand))
3127 return ::mlir::failure();
3129 auto loc = parser.getCurrentLocation();(void)loc;
3130 if (parser.parseOptionalAttrDict(result.attributes))
3131 return ::mlir::failure();
3133 if (parser.parseColon())
3134 return ::mlir::failure();
3136 if (parser.parseType(resultRawType))
3137 return ::mlir::failure();
3138 result.addTypes(resultTypes);
3139 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3140 return ::mlir::failure();
3141 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3142 return ::mlir::failure();
3143 return ::mlir::success();
3152 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3153 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3154 _odsPrinter <<
' ' <<
":";
3159void BVMulOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3178 return ::mlir::success();
3181void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
3182 odsState.addOperands(input);
3183 odsState.addTypes(result);
3186void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
3187 odsState.addOperands(input);
3189 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3191 odsState.location, odsState.operands,
3192 odsState.attributes.getDictionary(odsState.getContext()),
3193 odsState.getRawProperties(),
3194 odsState.regions, inferredReturnTypes)))
3195 odsState.addTypes(inferredReturnTypes);
3197 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3201void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
3202 odsState.addOperands(input);
3203 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3204 odsState.addTypes(resultTypes);
3207void BVNegOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3208 assert(operands.size() == 1u &&
"mismatched number of parameters");
3209 odsState.addOperands(operands);
3210 odsState.addAttributes(attributes);
3211 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3212 odsState.addTypes(resultTypes);
3215void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3216 assert(operands.size() == 1u &&
"mismatched number of parameters");
3217 odsState.addOperands(operands);
3218 odsState.addAttributes(attributes);
3220 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3222 odsState.location, operands,
3223 odsState.attributes.getDictionary(odsState.getContext()),
3224 odsState.getRawProperties(),
3225 odsState.regions, inferredReturnTypes))) {
3226 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3227 odsState.addTypes(inferredReturnTypes);
3229 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3235 unsigned index = 0; (void)index;
3238 for (
auto v : valueGroup0) {
3239 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3240 return ::mlir::failure();
3244 unsigned index = 0; (void)index;
3247 for (
auto v : valueGroup0) {
3248 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3249 return ::mlir::failure();
3252 return ::mlir::success();
3259::llvm::LogicalResult
BVNegOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3260 inferredReturnTypes.resize(1);
3261 ::mlir::Builder odsBuilder(context);
3262 if (operands.size() <= 0)
3263 return ::mlir::failure();
3264 ::mlir::Type odsInferredType0 = operands[0].getType();
3265 inferredReturnTypes[0] = odsInferredType0;
3266 return ::mlir::success();
3269::mlir::ParseResult
BVNegOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3270 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
3271 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
3272 (void)inputOperandsLoc;
3273 ::mlir::Type resultRawType{};
3274 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3276 inputOperandsLoc = parser.getCurrentLocation();
3277 if (parser.parseOperand(inputRawOperand))
3278 return ::mlir::failure();
3280 auto loc = parser.getCurrentLocation();(void)loc;
3281 if (parser.parseOptionalAttrDict(result.attributes))
3282 return ::mlir::failure();
3284 if (parser.parseColon())
3285 return ::mlir::failure();
3287 if (parser.parseType(resultRawType))
3288 return ::mlir::failure();
3289 result.addTypes(resultTypes);
3290 if (parser.resolveOperands(inputOperands, resultTypes[0], inputOperandsLoc, result.operands))
3291 return ::mlir::failure();
3292 return ::mlir::success();
3298 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3299 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3300 _odsPrinter <<
' ' <<
":";
3305void BVNegOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3324 return ::mlir::success();
3327void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
3328 odsState.addOperands(input);
3329 odsState.addTypes(result);
3332void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
3333 odsState.addOperands(input);
3335 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3337 odsState.location, odsState.operands,
3338 odsState.attributes.getDictionary(odsState.getContext()),
3339 odsState.getRawProperties(),
3340 odsState.regions, inferredReturnTypes)))
3341 odsState.addTypes(inferredReturnTypes);
3343 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3347void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
3348 odsState.addOperands(input);
3349 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3350 odsState.addTypes(resultTypes);
3353void BVNotOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3354 assert(operands.size() == 1u &&
"mismatched number of parameters");
3355 odsState.addOperands(operands);
3356 odsState.addAttributes(attributes);
3357 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3358 odsState.addTypes(resultTypes);
3361void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3362 assert(operands.size() == 1u &&
"mismatched number of parameters");
3363 odsState.addOperands(operands);
3364 odsState.addAttributes(attributes);
3366 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3368 odsState.location, operands,
3369 odsState.attributes.getDictionary(odsState.getContext()),
3370 odsState.getRawProperties(),
3371 odsState.regions, inferredReturnTypes))) {
3372 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3373 odsState.addTypes(inferredReturnTypes);
3375 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3381 unsigned index = 0; (void)index;
3384 for (
auto v : valueGroup0) {
3385 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3386 return ::mlir::failure();
3390 unsigned index = 0; (void)index;
3393 for (
auto v : valueGroup0) {
3394 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3395 return ::mlir::failure();
3398 return ::mlir::success();
3405::llvm::LogicalResult
BVNotOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3406 inferredReturnTypes.resize(1);
3407 ::mlir::Builder odsBuilder(context);
3408 if (operands.size() <= 0)
3409 return ::mlir::failure();
3410 ::mlir::Type odsInferredType0 = operands[0].getType();
3411 inferredReturnTypes[0] = odsInferredType0;
3412 return ::mlir::success();
3415::mlir::ParseResult
BVNotOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3416 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
3417 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
3418 (void)inputOperandsLoc;
3419 ::mlir::Type resultRawType{};
3420 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3422 inputOperandsLoc = parser.getCurrentLocation();
3423 if (parser.parseOperand(inputRawOperand))
3424 return ::mlir::failure();
3426 auto loc = parser.getCurrentLocation();(void)loc;
3427 if (parser.parseOptionalAttrDict(result.attributes))
3428 return ::mlir::failure();
3430 if (parser.parseColon())
3431 return ::mlir::failure();
3433 if (parser.parseType(resultRawType))
3434 return ::mlir::failure();
3435 result.addTypes(resultTypes);
3436 if (parser.resolveOperands(inputOperands, resultTypes[0], inputOperandsLoc, result.operands))
3437 return ::mlir::failure();
3438 return ::mlir::success();
3444 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3445 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3446 _odsPrinter <<
' ' <<
":";
3451void BVNotOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3470 return ::mlir::success();
3473void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3474 odsState.addOperands(lhs);
3475 odsState.addOperands(rhs);
3476 odsState.addTypes(result);
3479void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3480 odsState.addOperands(lhs);
3481 odsState.addOperands(rhs);
3483 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3485 odsState.location, odsState.operands,
3486 odsState.attributes.getDictionary(odsState.getContext()),
3487 odsState.getRawProperties(),
3488 odsState.regions, inferredReturnTypes)))
3489 odsState.addTypes(inferredReturnTypes);
3491 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3495void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3496 odsState.addOperands(lhs);
3497 odsState.addOperands(rhs);
3498 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3499 odsState.addTypes(resultTypes);
3502void BVOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3503 assert(operands.size() == 2u &&
"mismatched number of parameters");
3504 odsState.addOperands(operands);
3505 odsState.addAttributes(attributes);
3506 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3507 odsState.addTypes(resultTypes);
3510void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3511 assert(operands.size() == 2u &&
"mismatched number of parameters");
3512 odsState.addOperands(operands);
3513 odsState.addAttributes(attributes);
3515 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3517 odsState.location, operands,
3518 odsState.attributes.getDictionary(odsState.getContext()),
3519 odsState.getRawProperties(),
3520 odsState.regions, inferredReturnTypes))) {
3521 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3522 odsState.addTypes(inferredReturnTypes);
3524 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3530 unsigned index = 0; (void)index;
3533 for (
auto v : valueGroup0) {
3534 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3535 return ::mlir::failure();
3539 for (
auto v : valueGroup1) {
3540 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3541 return ::mlir::failure();
3545 unsigned index = 0; (void)index;
3548 for (
auto v : valueGroup0) {
3549 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3550 return ::mlir::failure();
3553 return ::mlir::success();
3560::llvm::LogicalResult
BVOrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3561 inferredReturnTypes.resize(1);
3562 ::mlir::Builder odsBuilder(context);
3563 if (operands.size() <= 0)
3564 return ::mlir::failure();
3565 ::mlir::Type odsInferredType0 = operands[0].getType();
3566 inferredReturnTypes[0] = odsInferredType0;
3567 return ::mlir::success();
3570::mlir::ParseResult
BVOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3571 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3572 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3573 (void)lhsOperandsLoc;
3574 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3575 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3576 (void)rhsOperandsLoc;
3577 ::mlir::Type resultRawType{};
3578 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3580 lhsOperandsLoc = parser.getCurrentLocation();
3581 if (parser.parseOperand(lhsRawOperand))
3582 return ::mlir::failure();
3583 if (parser.parseComma())
3584 return ::mlir::failure();
3586 rhsOperandsLoc = parser.getCurrentLocation();
3587 if (parser.parseOperand(rhsRawOperand))
3588 return ::mlir::failure();
3590 auto loc = parser.getCurrentLocation();(void)loc;
3591 if (parser.parseOptionalAttrDict(result.attributes))
3592 return ::mlir::failure();
3594 if (parser.parseColon())
3595 return ::mlir::failure();
3597 if (parser.parseType(resultRawType))
3598 return ::mlir::failure();
3599 result.addTypes(resultTypes);
3600 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3601 return ::mlir::failure();
3602 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3603 return ::mlir::failure();
3604 return ::mlir::success();
3613 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3614 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3615 _odsPrinter <<
' ' <<
":";
3620void BVOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3639 return ::mlir::success();
3642void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3643 odsState.addOperands(lhs);
3644 odsState.addOperands(rhs);
3645 odsState.addTypes(result);
3648void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3649 odsState.addOperands(lhs);
3650 odsState.addOperands(rhs);
3652 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3654 odsState.location, odsState.operands,
3655 odsState.attributes.getDictionary(odsState.getContext()),
3656 odsState.getRawProperties(),
3657 odsState.regions, inferredReturnTypes)))
3658 odsState.addTypes(inferredReturnTypes);
3660 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3664void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3665 odsState.addOperands(lhs);
3666 odsState.addOperands(rhs);
3667 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3668 odsState.addTypes(resultTypes);
3671void BVSDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3672 assert(operands.size() == 2u &&
"mismatched number of parameters");
3673 odsState.addOperands(operands);
3674 odsState.addAttributes(attributes);
3675 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3676 odsState.addTypes(resultTypes);
3679void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3680 assert(operands.size() == 2u &&
"mismatched number of parameters");
3681 odsState.addOperands(operands);
3682 odsState.addAttributes(attributes);
3684 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3686 odsState.location, operands,
3687 odsState.attributes.getDictionary(odsState.getContext()),
3688 odsState.getRawProperties(),
3689 odsState.regions, inferredReturnTypes))) {
3690 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3691 odsState.addTypes(inferredReturnTypes);
3693 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3699 unsigned index = 0; (void)index;
3702 for (
auto v : valueGroup0) {
3703 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3704 return ::mlir::failure();
3708 for (
auto v : valueGroup1) {
3709 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3710 return ::mlir::failure();
3714 unsigned index = 0; (void)index;
3717 for (
auto v : valueGroup0) {
3718 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3719 return ::mlir::failure();
3722 return ::mlir::success();
3729::llvm::LogicalResult
BVSDivOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3730 inferredReturnTypes.resize(1);
3731 ::mlir::Builder odsBuilder(context);
3732 if (operands.size() <= 0)
3733 return ::mlir::failure();
3734 ::mlir::Type odsInferredType0 = operands[0].getType();
3735 inferredReturnTypes[0] = odsInferredType0;
3736 return ::mlir::success();
3739::mlir::ParseResult
BVSDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3740 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3741 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3742 (void)lhsOperandsLoc;
3743 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3744 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3745 (void)rhsOperandsLoc;
3746 ::mlir::Type resultRawType{};
3747 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3749 lhsOperandsLoc = parser.getCurrentLocation();
3750 if (parser.parseOperand(lhsRawOperand))
3751 return ::mlir::failure();
3752 if (parser.parseComma())
3753 return ::mlir::failure();
3755 rhsOperandsLoc = parser.getCurrentLocation();
3756 if (parser.parseOperand(rhsRawOperand))
3757 return ::mlir::failure();
3759 auto loc = parser.getCurrentLocation();(void)loc;
3760 if (parser.parseOptionalAttrDict(result.attributes))
3761 return ::mlir::failure();
3763 if (parser.parseColon())
3764 return ::mlir::failure();
3766 if (parser.parseType(resultRawType))
3767 return ::mlir::failure();
3768 result.addTypes(resultTypes);
3769 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3770 return ::mlir::failure();
3771 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3772 return ::mlir::failure();
3773 return ::mlir::success();
3782 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3783 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3784 _odsPrinter <<
' ' <<
":";
3789void BVSDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3808 return ::mlir::success();
3811void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3812 odsState.addOperands(lhs);
3813 odsState.addOperands(rhs);
3814 odsState.addTypes(result);
3817void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3818 odsState.addOperands(lhs);
3819 odsState.addOperands(rhs);
3821 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3823 odsState.location, odsState.operands,
3824 odsState.attributes.getDictionary(odsState.getContext()),
3825 odsState.getRawProperties(),
3826 odsState.regions, inferredReturnTypes)))
3827 odsState.addTypes(inferredReturnTypes);
3829 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3833void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3834 odsState.addOperands(lhs);
3835 odsState.addOperands(rhs);
3836 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3837 odsState.addTypes(resultTypes);
3840void BVSModOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3841 assert(operands.size() == 2u &&
"mismatched number of parameters");
3842 odsState.addOperands(operands);
3843 odsState.addAttributes(attributes);
3844 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3845 odsState.addTypes(resultTypes);
3848void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3849 assert(operands.size() == 2u &&
"mismatched number of parameters");
3850 odsState.addOperands(operands);
3851 odsState.addAttributes(attributes);
3853 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3855 odsState.location, operands,
3856 odsState.attributes.getDictionary(odsState.getContext()),
3857 odsState.getRawProperties(),
3858 odsState.regions, inferredReturnTypes))) {
3859 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3860 odsState.addTypes(inferredReturnTypes);
3862 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3868 unsigned index = 0; (void)index;
3871 for (
auto v : valueGroup0) {
3872 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3873 return ::mlir::failure();
3877 for (
auto v : valueGroup1) {
3878 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3879 return ::mlir::failure();
3883 unsigned index = 0; (void)index;
3886 for (
auto v : valueGroup0) {
3887 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3888 return ::mlir::failure();
3891 return ::mlir::success();
3898::llvm::LogicalResult
BVSModOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
3899 inferredReturnTypes.resize(1);
3900 ::mlir::Builder odsBuilder(context);
3901 if (operands.size() <= 0)
3902 return ::mlir::failure();
3903 ::mlir::Type odsInferredType0 = operands[0].getType();
3904 inferredReturnTypes[0] = odsInferredType0;
3905 return ::mlir::success();
3908::mlir::ParseResult
BVSModOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3909 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3910 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3911 (void)lhsOperandsLoc;
3912 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3913 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3914 (void)rhsOperandsLoc;
3915 ::mlir::Type resultRawType{};
3916 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3918 lhsOperandsLoc = parser.getCurrentLocation();
3919 if (parser.parseOperand(lhsRawOperand))
3920 return ::mlir::failure();
3921 if (parser.parseComma())
3922 return ::mlir::failure();
3924 rhsOperandsLoc = parser.getCurrentLocation();
3925 if (parser.parseOperand(rhsRawOperand))
3926 return ::mlir::failure();
3928 auto loc = parser.getCurrentLocation();(void)loc;
3929 if (parser.parseOptionalAttrDict(result.attributes))
3930 return ::mlir::failure();
3932 if (parser.parseColon())
3933 return ::mlir::failure();
3935 if (parser.parseType(resultRawType))
3936 return ::mlir::failure();
3937 result.addTypes(resultTypes);
3938 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3939 return ::mlir::failure();
3940 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3941 return ::mlir::failure();
3942 return ::mlir::success();
3951 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3952 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3953 _odsPrinter <<
' ' <<
":";
3958void BVSModOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3977 return ::mlir::success();
3980void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3981 odsState.addOperands(lhs);
3982 odsState.addOperands(rhs);
3983 odsState.addTypes(result);
3986void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3987 odsState.addOperands(lhs);
3988 odsState.addOperands(rhs);
3990 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3992 odsState.location, odsState.operands,
3993 odsState.attributes.getDictionary(odsState.getContext()),
3994 odsState.getRawProperties(),
3995 odsState.regions, inferredReturnTypes)))
3996 odsState.addTypes(inferredReturnTypes);
3998 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4002void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4003 odsState.addOperands(lhs);
4004 odsState.addOperands(rhs);
4005 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4006 odsState.addTypes(resultTypes);
4009void BVSRemOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4010 assert(operands.size() == 2u &&
"mismatched number of parameters");
4011 odsState.addOperands(operands);
4012 odsState.addAttributes(attributes);
4013 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4014 odsState.addTypes(resultTypes);
4017void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4018 assert(operands.size() == 2u &&
"mismatched number of parameters");
4019 odsState.addOperands(operands);
4020 odsState.addAttributes(attributes);
4022 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4024 odsState.location, operands,
4025 odsState.attributes.getDictionary(odsState.getContext()),
4026 odsState.getRawProperties(),
4027 odsState.regions, inferredReturnTypes))) {
4028 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4029 odsState.addTypes(inferredReturnTypes);
4031 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4037 unsigned index = 0; (void)index;
4040 for (
auto v : valueGroup0) {
4041 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4042 return ::mlir::failure();
4046 for (
auto v : valueGroup1) {
4047 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4048 return ::mlir::failure();
4052 unsigned index = 0; (void)index;
4055 for (
auto v : valueGroup0) {
4056 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4057 return ::mlir::failure();
4060 return ::mlir::success();
4067::llvm::LogicalResult
BVSRemOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
4068 inferredReturnTypes.resize(1);
4069 ::mlir::Builder odsBuilder(context);
4070 if (operands.size() <= 0)
4071 return ::mlir::failure();
4072 ::mlir::Type odsInferredType0 = operands[0].getType();
4073 inferredReturnTypes[0] = odsInferredType0;
4074 return ::mlir::success();
4077::mlir::ParseResult
BVSRemOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4078 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4079 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4080 (void)lhsOperandsLoc;
4081 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4082 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4083 (void)rhsOperandsLoc;
4084 ::mlir::Type resultRawType{};
4085 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4087 lhsOperandsLoc = parser.getCurrentLocation();
4088 if (parser.parseOperand(lhsRawOperand))
4089 return ::mlir::failure();
4090 if (parser.parseComma())
4091 return ::mlir::failure();
4093 rhsOperandsLoc = parser.getCurrentLocation();
4094 if (parser.parseOperand(rhsRawOperand))
4095 return ::mlir::failure();
4097 auto loc = parser.getCurrentLocation();(void)loc;
4098 if (parser.parseOptionalAttrDict(result.attributes))
4099 return ::mlir::failure();
4101 if (parser.parseColon())
4102 return ::mlir::failure();
4104 if (parser.parseType(resultRawType))
4105 return ::mlir::failure();
4106 result.addTypes(resultTypes);
4107 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4108 return ::mlir::failure();
4109 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4110 return ::mlir::failure();
4111 return ::mlir::success();
4120 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4121 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4122 _odsPrinter <<
' ' <<
":";
4127void BVSRemOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4146 return ::mlir::success();
4149void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4150 odsState.addOperands(lhs);
4151 odsState.addOperands(rhs);
4152 odsState.addTypes(result);
4155void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4156 odsState.addOperands(lhs);
4157 odsState.addOperands(rhs);
4159 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4161 odsState.location, odsState.operands,
4162 odsState.attributes.getDictionary(odsState.getContext()),
4163 odsState.getRawProperties(),
4164 odsState.regions, inferredReturnTypes)))
4165 odsState.addTypes(inferredReturnTypes);
4167 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4171void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4172 odsState.addOperands(lhs);
4173 odsState.addOperands(rhs);
4174 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4175 odsState.addTypes(resultTypes);
4178void BVShlOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4179 assert(operands.size() == 2u &&
"mismatched number of parameters");
4180 odsState.addOperands(operands);
4181 odsState.addAttributes(attributes);
4182 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4183 odsState.addTypes(resultTypes);
4186void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4187 assert(operands.size() == 2u &&
"mismatched number of parameters");
4188 odsState.addOperands(operands);
4189 odsState.addAttributes(attributes);
4191 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4193 odsState.location, operands,
4194 odsState.attributes.getDictionary(odsState.getContext()),
4195 odsState.getRawProperties(),
4196 odsState.regions, inferredReturnTypes))) {
4197 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4198 odsState.addTypes(inferredReturnTypes);
4200 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4206 unsigned index = 0; (void)index;
4209 for (
auto v : valueGroup0) {
4210 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4211 return ::mlir::failure();
4215 for (
auto v : valueGroup1) {
4216 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4217 return ::mlir::failure();
4221 unsigned index = 0; (void)index;
4224 for (
auto v : valueGroup0) {
4225 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4226 return ::mlir::failure();
4229 return ::mlir::success();
4236::llvm::LogicalResult
BVShlOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
4237 inferredReturnTypes.resize(1);
4238 ::mlir::Builder odsBuilder(context);
4239 if (operands.size() <= 0)
4240 return ::mlir::failure();
4241 ::mlir::Type odsInferredType0 = operands[0].getType();
4242 inferredReturnTypes[0] = odsInferredType0;
4243 return ::mlir::success();
4246::mlir::ParseResult
BVShlOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4247 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4248 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4249 (void)lhsOperandsLoc;
4250 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4251 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4252 (void)rhsOperandsLoc;
4253 ::mlir::Type resultRawType{};
4254 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4256 lhsOperandsLoc = parser.getCurrentLocation();
4257 if (parser.parseOperand(lhsRawOperand))
4258 return ::mlir::failure();
4259 if (parser.parseComma())
4260 return ::mlir::failure();
4262 rhsOperandsLoc = parser.getCurrentLocation();
4263 if (parser.parseOperand(rhsRawOperand))
4264 return ::mlir::failure();
4266 auto loc = parser.getCurrentLocation();(void)loc;
4267 if (parser.parseOptionalAttrDict(result.attributes))
4268 return ::mlir::failure();
4270 if (parser.parseColon())
4271 return ::mlir::failure();
4273 if (parser.parseType(resultRawType))
4274 return ::mlir::failure();
4275 result.addTypes(resultTypes);
4276 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4277 return ::mlir::failure();
4278 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4279 return ::mlir::failure();
4280 return ::mlir::success();
4289 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4290 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4291 _odsPrinter <<
' ' <<
":";
4296void BVShlOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4315 return ::mlir::success();
4318void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4319 odsState.addOperands(lhs);
4320 odsState.addOperands(rhs);
4321 odsState.addTypes(result);
4324void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4325 odsState.addOperands(lhs);
4326 odsState.addOperands(rhs);
4328 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4330 odsState.location, odsState.operands,
4331 odsState.attributes.getDictionary(odsState.getContext()),
4332 odsState.getRawProperties(),
4333 odsState.regions, inferredReturnTypes)))
4334 odsState.addTypes(inferredReturnTypes);
4336 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4340void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4341 odsState.addOperands(lhs);
4342 odsState.addOperands(rhs);
4343 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4344 odsState.addTypes(resultTypes);
4347void BVUDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4348 assert(operands.size() == 2u &&
"mismatched number of parameters");
4349 odsState.addOperands(operands);
4350 odsState.addAttributes(attributes);
4351 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4352 odsState.addTypes(resultTypes);
4355void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4356 assert(operands.size() == 2u &&
"mismatched number of parameters");
4357 odsState.addOperands(operands);
4358 odsState.addAttributes(attributes);
4360 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4362 odsState.location, operands,
4363 odsState.attributes.getDictionary(odsState.getContext()),
4364 odsState.getRawProperties(),
4365 odsState.regions, inferredReturnTypes))) {
4366 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4367 odsState.addTypes(inferredReturnTypes);
4369 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4375 unsigned index = 0; (void)index;
4378 for (
auto v : valueGroup0) {
4379 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4380 return ::mlir::failure();
4384 for (
auto v : valueGroup1) {
4385 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4386 return ::mlir::failure();
4390 unsigned index = 0; (void)index;
4393 for (
auto v : valueGroup0) {
4394 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4395 return ::mlir::failure();
4398 return ::mlir::success();
4405::llvm::LogicalResult
BVUDivOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
4406 inferredReturnTypes.resize(1);
4407 ::mlir::Builder odsBuilder(context);
4408 if (operands.size() <= 0)
4409 return ::mlir::failure();
4410 ::mlir::Type odsInferredType0 = operands[0].getType();
4411 inferredReturnTypes[0] = odsInferredType0;
4412 return ::mlir::success();
4415::mlir::ParseResult
BVUDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4416 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4417 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4418 (void)lhsOperandsLoc;
4419 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4420 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4421 (void)rhsOperandsLoc;
4422 ::mlir::Type resultRawType{};
4423 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4425 lhsOperandsLoc = parser.getCurrentLocation();
4426 if (parser.parseOperand(lhsRawOperand))
4427 return ::mlir::failure();
4428 if (parser.parseComma())
4429 return ::mlir::failure();
4431 rhsOperandsLoc = parser.getCurrentLocation();
4432 if (parser.parseOperand(rhsRawOperand))
4433 return ::mlir::failure();
4435 auto loc = parser.getCurrentLocation();(void)loc;
4436 if (parser.parseOptionalAttrDict(result.attributes))
4437 return ::mlir::failure();
4439 if (parser.parseColon())
4440 return ::mlir::failure();
4442 if (parser.parseType(resultRawType))
4443 return ::mlir::failure();
4444 result.addTypes(resultTypes);
4445 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4446 return ::mlir::failure();
4447 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4448 return ::mlir::failure();
4449 return ::mlir::success();
4458 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4459 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4460 _odsPrinter <<
' ' <<
":";
4465void BVUDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4484 return ::mlir::success();
4487void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4488 odsState.addOperands(lhs);
4489 odsState.addOperands(rhs);
4490 odsState.addTypes(result);
4493void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4494 odsState.addOperands(lhs);
4495 odsState.addOperands(rhs);
4497 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4499 odsState.location, odsState.operands,
4500 odsState.attributes.getDictionary(odsState.getContext()),
4501 odsState.getRawProperties(),
4502 odsState.regions, inferredReturnTypes)))
4503 odsState.addTypes(inferredReturnTypes);
4505 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4509void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4510 odsState.addOperands(lhs);
4511 odsState.addOperands(rhs);
4512 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4513 odsState.addTypes(resultTypes);
4516void BVURemOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4517 assert(operands.size() == 2u &&
"mismatched number of parameters");
4518 odsState.addOperands(operands);
4519 odsState.addAttributes(attributes);
4520 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4521 odsState.addTypes(resultTypes);
4524void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4525 assert(operands.size() == 2u &&
"mismatched number of parameters");
4526 odsState.addOperands(operands);
4527 odsState.addAttributes(attributes);
4529 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4531 odsState.location, operands,
4532 odsState.attributes.getDictionary(odsState.getContext()),
4533 odsState.getRawProperties(),
4534 odsState.regions, inferredReturnTypes))) {
4535 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4536 odsState.addTypes(inferredReturnTypes);
4538 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4544 unsigned index = 0; (void)index;
4547 for (
auto v : valueGroup0) {
4548 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4549 return ::mlir::failure();
4553 for (
auto v : valueGroup1) {
4554 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4555 return ::mlir::failure();
4559 unsigned index = 0; (void)index;
4562 for (
auto v : valueGroup0) {
4563 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4564 return ::mlir::failure();
4567 return ::mlir::success();
4574::llvm::LogicalResult
BVURemOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
4575 inferredReturnTypes.resize(1);
4576 ::mlir::Builder odsBuilder(context);
4577 if (operands.size() <= 0)
4578 return ::mlir::failure();
4579 ::mlir::Type odsInferredType0 = operands[0].getType();
4580 inferredReturnTypes[0] = odsInferredType0;
4581 return ::mlir::success();
4584::mlir::ParseResult
BVURemOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4585 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4586 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4587 (void)lhsOperandsLoc;
4588 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4589 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4590 (void)rhsOperandsLoc;
4591 ::mlir::Type resultRawType{};
4592 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4594 lhsOperandsLoc = parser.getCurrentLocation();
4595 if (parser.parseOperand(lhsRawOperand))
4596 return ::mlir::failure();
4597 if (parser.parseComma())
4598 return ::mlir::failure();
4600 rhsOperandsLoc = parser.getCurrentLocation();
4601 if (parser.parseOperand(rhsRawOperand))
4602 return ::mlir::failure();
4604 auto loc = parser.getCurrentLocation();(void)loc;
4605 if (parser.parseOptionalAttrDict(result.attributes))
4606 return ::mlir::failure();
4608 if (parser.parseColon())
4609 return ::mlir::failure();
4611 if (parser.parseType(resultRawType))
4612 return ::mlir::failure();
4613 result.addTypes(resultTypes);
4614 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4615 return ::mlir::failure();
4616 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4617 return ::mlir::failure();
4618 return ::mlir::success();
4627 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4628 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4629 _odsPrinter <<
' ' <<
":";
4634void BVURemOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4653 return ::mlir::success();
4656void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4657 odsState.addOperands(lhs);
4658 odsState.addOperands(rhs);
4659 odsState.addTypes(result);
4662void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4663 odsState.addOperands(lhs);
4664 odsState.addOperands(rhs);
4666 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4668 odsState.location, odsState.operands,
4669 odsState.attributes.getDictionary(odsState.getContext()),
4670 odsState.getRawProperties(),
4671 odsState.regions, inferredReturnTypes)))
4672 odsState.addTypes(inferredReturnTypes);
4674 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4678void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4679 odsState.addOperands(lhs);
4680 odsState.addOperands(rhs);
4681 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4682 odsState.addTypes(resultTypes);
4685void BVXOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4686 assert(operands.size() == 2u &&
"mismatched number of parameters");
4687 odsState.addOperands(operands);
4688 odsState.addAttributes(attributes);
4689 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4690 odsState.addTypes(resultTypes);
4693void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4694 assert(operands.size() == 2u &&
"mismatched number of parameters");
4695 odsState.addOperands(operands);
4696 odsState.addAttributes(attributes);
4698 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4700 odsState.location, operands,
4701 odsState.attributes.getDictionary(odsState.getContext()),
4702 odsState.getRawProperties(),
4703 odsState.regions, inferredReturnTypes))) {
4704 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4705 odsState.addTypes(inferredReturnTypes);
4707 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4713 unsigned index = 0; (void)index;
4716 for (
auto v : valueGroup0) {
4717 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4718 return ::mlir::failure();
4722 for (
auto v : valueGroup1) {
4723 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4724 return ::mlir::failure();
4728 unsigned index = 0; (void)index;
4731 for (
auto v : valueGroup0) {
4732 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4733 return ::mlir::failure();
4736 return ::mlir::success();
4743::llvm::LogicalResult
BVXOrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
4744 inferredReturnTypes.resize(1);
4745 ::mlir::Builder odsBuilder(context);
4746 if (operands.size() <= 0)
4747 return ::mlir::failure();
4748 ::mlir::Type odsInferredType0 = operands[0].getType();
4749 inferredReturnTypes[0] = odsInferredType0;
4750 return ::mlir::success();
4753::mlir::ParseResult
BVXOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4754 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4755 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4756 (void)lhsOperandsLoc;
4757 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4758 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4759 (void)rhsOperandsLoc;
4760 ::mlir::Type resultRawType{};
4761 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4763 lhsOperandsLoc = parser.getCurrentLocation();
4764 if (parser.parseOperand(lhsRawOperand))
4765 return ::mlir::failure();
4766 if (parser.parseComma())
4767 return ::mlir::failure();
4769 rhsOperandsLoc = parser.getCurrentLocation();
4770 if (parser.parseOperand(rhsRawOperand))
4771 return ::mlir::failure();
4773 auto loc = parser.getCurrentLocation();(void)loc;
4774 if (parser.parseOptionalAttrDict(result.attributes))
4775 return ::mlir::failure();
4777 if (parser.parseColon())
4778 return ::mlir::failure();
4780 if (parser.parseType(resultRawType))
4781 return ::mlir::failure();
4782 result.addTypes(resultTypes);
4783 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4784 return ::mlir::failure();
4785 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4786 return ::mlir::failure();
4787 return ::mlir::success();
4796 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4797 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4798 _odsPrinter <<
' ' <<
":";
4803void BVXOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4822 return attr.getValue();
4830 if (!tblgen_value)
return emitError(loc,
"'smt.constant' op ""requires attribute 'value'");
4832 if (tblgen_value && !((::llvm::isa<::mlir::BoolAttr>(tblgen_value))))
4833 return emitError(loc,
"'smt.constant' op ""attribute 'value' failed to satisfy constraint: bool attribute");
4834 return ::mlir::success();
4838 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
4840 emitError() <<
"expected DictionaryAttr to set properties";
4841 return ::mlir::failure();
4845 auto &propStorage = prop.
value;
4846 auto attr = dict.get(
"value");
4848 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
4849 if (convertedAttr) {
4850 propStorage = convertedAttr;
4852 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
4853 return ::mlir::failure();
4857 return ::mlir::success();
4861 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
4862 ::mlir::Builder odsBuilder{ctx};
4865 const auto &propStorage = prop.
value;
4867 attrs.push_back(odsBuilder.getNamedAttr(
"value",
4872 return odsBuilder.getDictionaryAttr(attrs);
4877 return llvm::hash_combine(
4878 llvm::hash_value(prop.
value.getAsOpaquePointer()));
4882 if (name ==
"value")
4884 return std::nullopt;
4888 if (name ==
"value") {
4889 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
4895 if (prop.
value) attrs.append(
"value", prop.
value);
4901 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT4(attr,
"value", emitError)))
4902 return ::mlir::failure();
4904 return ::mlir::success();
4908 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
4909 if (::mlir::failed(reader.readAttribute(prop.
value)))
4910 return ::mlir::failure();
4911 return ::mlir::success();
4915 auto &prop = getProperties(); (void)prop;
4916 writer.writeAttribute(prop.
value);
4921 return attr.getValue();
4925 getProperties().value = ::mlir::Builder((*this)->getContext()).getBoolAttr(attrValue);
4928void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value) {
4929 odsState.getOrAddProperties<
Properties>().value = value;
4930 odsState.addTypes(result);
4934 odsState.getOrAddProperties<
Properties>().value = value;
4936 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4938 odsState.location, odsState.operands,
4939 odsState.attributes.getDictionary(odsState.getContext()),
4940 odsState.getRawProperties(),
4941 odsState.regions, inferredReturnTypes)))
4942 odsState.addTypes(inferredReturnTypes);
4944 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4948void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::BoolAttr value) {
4949 odsState.getOrAddProperties<
Properties>().value = value;
4950 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4951 odsState.addTypes(resultTypes);
4954void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
bool value) {
4955 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4956 odsState.addTypes(result);
4960 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4962 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4964 odsState.location, odsState.operands,
4965 odsState.attributes.getDictionary(odsState.getContext()),
4966 odsState.getRawProperties(),
4967 odsState.regions, inferredReturnTypes)))
4968 odsState.addTypes(inferredReturnTypes);
4970 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4974void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
bool value) {
4975 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4976 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4977 odsState.addTypes(resultTypes);
4980void BoolConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4981 assert(operands.size() == 0u &&
"mismatched number of parameters");
4982 odsState.addOperands(operands);
4983 odsState.addAttributes(attributes);
4984 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4985 odsState.addTypes(resultTypes);
4987 if (!attributes.empty()) {
4988 ::mlir::OpaqueProperties properties =
4990 std::optional<::mlir::RegisteredOperationName> info =
4991 odsState.name.getRegisteredInfo();
4992 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
4993 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
4994 ::llvm::report_fatal_error(
"Property conversion failed.");
4998void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4999 assert(operands.size() == 0u &&
"mismatched number of parameters");
5000 odsState.addOperands(operands);
5001 odsState.addAttributes(attributes);
5003 if (!attributes.empty()) {
5004 ::mlir::OpaqueProperties properties =
5006 std::optional<::mlir::RegisteredOperationName> info =
5007 odsState.name.getRegisteredInfo();
5008 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
5009 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
5010 ::llvm::report_fatal_error(
"Property conversion failed.");
5012 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5014 odsState.location, operands,
5015 odsState.attributes.getDictionary(odsState.getContext()),
5016 odsState.getRawProperties(),
5017 odsState.regions, inferredReturnTypes))) {
5018 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5019 odsState.addTypes(inferredReturnTypes);
5021 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5026 auto tblgen_value = getProperties().value; (void)tblgen_value;
5027 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
5029 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT4(*
this, tblgen_value,
"value")))
5030 return ::mlir::failure();
5032 unsigned index = 0; (void)index;
5035 for (
auto v : valueGroup0) {
5036 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5037 return ::mlir::failure();
5040 return ::mlir::success();
5047::llvm::LogicalResult
BoolConstantOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
5048 inferredReturnTypes.resize(1);
5049 ::mlir::Builder odsBuilder(context);
5051 inferredReturnTypes[0] = odsInferredType0;
5052 return ::mlir::success();
5056 ::mlir::BoolAttr valueAttr;
5058 if (parser.parseCustomAttributeWithFallback(valueAttr, parser.getBuilder().getIntegerType(1))) {
5059 return ::mlir::failure();
5063 auto loc = parser.getCurrentLocation();(void)loc;
5064 if (parser.parseOptionalAttrDict(result.attributes))
5065 return ::mlir::failure();
5067 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
5069 return ::mlir::failure();
5072 result.addTypes(odsBuildableType0);
5073 return ::mlir::success();
5079 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5080 elidedAttrs.push_back(
"value");
5081 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5103 return ::mlir::success();
5107 bool isVariadic[] = {
true};
5108 int prevVariadicCount = 0;
5109 for (
unsigned i = 0; i < index; ++i)
5110 if (isVariadic[i]) ++prevVariadicCount;
5114 int variadicSize = (getOperation()->getNumResults() - 0) / 1;
5119 int start = index + (variadicSize - 1) * prevVariadicCount;
5120 int size = isVariadic[index] ? variadicSize : 1;
5121 return {start, size};
5124void CheckOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results) {
5125 (void)odsState.addRegion();
5126 (void)odsState.addRegion();
5127 (void)odsState.addRegion();
5128 odsState.addTypes(results);
5131void CheckOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5132 assert(operands.size() == 0u &&
"mismatched number of parameters");
5133 odsState.addOperands(operands);
5134 odsState.addAttributes(attributes);
5135 for (
unsigned i = 0; i != 3; ++i)
5136 (
void)odsState.addRegion();
5137 odsState.addTypes(resultTypes);
5142 unsigned index = 0; (void)index;
5145 for (
auto v : valueGroup0) {
5146 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT10(*
this, v.getType(),
"result", index++)))
5147 return ::mlir::failure();
5151 unsigned index = 0; (void)index;
5153 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
5154 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"satRegion", index++)))
5155 return ::mlir::failure();
5157 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(1)))
5158 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"unknownRegion", index++)))
5159 return ::mlir::failure();
5161 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(2)))
5162 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"unsatRegion", index++)))
5163 return ::mlir::failure();
5165 return ::mlir::success();
5172::mlir::ParseResult
CheckOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
5173 std::unique_ptr<::mlir::Region> satRegionRegion = std::make_unique<::mlir::Region>();
5174 std::unique_ptr<::mlir::Region> unknownRegionRegion = std::make_unique<::mlir::Region>();
5175 std::unique_ptr<::mlir::Region> unsatRegionRegion = std::make_unique<::mlir::Region>();
5176 ::llvm::SmallVector<::mlir::Type, 1> resultsTypes;
5178 auto loc = parser.getCurrentLocation();(void)loc;
5179 if (parser.parseOptionalAttrDict(result.attributes))
5180 return ::mlir::failure();
5182 if (parser.parseKeyword(
"sat"))
5183 return ::mlir::failure();
5185 if (parser.parseRegion(*satRegionRegion))
5186 return ::mlir::failure();
5188 ensureTerminator(*satRegionRegion, parser.getBuilder(), result.location);
5189 if (parser.parseKeyword(
"unknown"))
5190 return ::mlir::failure();
5192 if (parser.parseRegion(*unknownRegionRegion))
5193 return ::mlir::failure();
5195 ensureTerminator(*unknownRegionRegion, parser.getBuilder(), result.location);
5196 if (parser.parseKeyword(
"unsat"))
5197 return ::mlir::failure();
5199 if (parser.parseRegion(*unsatRegionRegion))
5200 return ::mlir::failure();
5202 ensureTerminator(*unsatRegionRegion, parser.getBuilder(), result.location);
5203 if (::mlir::succeeded(parser.parseOptionalArrow())) {
5205 if (parser.parseTypeList(resultsTypes))
5206 return ::mlir::failure();
5208 result.addRegion(std::move(satRegionRegion));
5209 result.addRegion(std::move(unknownRegionRegion));
5210 result.addRegion(std::move(unsatRegionRegion));
5211 result.addTypes(resultsTypes);
5212 return ::mlir::success();
5216 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5217 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5218 _odsPrinter <<
' ' <<
"sat";
5222 bool printTerminator =
true;
5224 printTerminator = !term->getAttrDictionary().empty() ||
5225 term->getNumOperands() != 0 ||
5226 term->getNumResults() != 0;
5231 _odsPrinter <<
' ' <<
"unknown";
5235 bool printTerminator =
true;
5237 printTerminator = !term->getAttrDictionary().empty() ||
5238 term->getNumOperands() != 0 ||
5239 term->getNumResults() != 0;
5244 _odsPrinter <<
' ' <<
"unsat";
5248 bool printTerminator =
true;
5250 printTerminator = !term->getAttrDictionary().empty() ||
5251 term->getNumOperands() != 0 ||
5252 term->getNumResults() != 0;
5258 _odsPrinter <<
' ' <<
"->";
5280 return ::mlir::success();
5283void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
5284 odsState.addOperands(lhs);
5285 odsState.addOperands(rhs);
5286 odsState.addTypes(result);
5289void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
5290 odsState.addOperands(lhs);
5291 odsState.addOperands(rhs);
5293 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5295 odsState.location, odsState.operands,
5296 odsState.attributes.getDictionary(odsState.getContext()),
5297 odsState.getRawProperties(),
5298 odsState.regions, inferredReturnTypes)))
5299 odsState.addTypes(inferredReturnTypes);
5301 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
5305void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
5306 odsState.addOperands(lhs);
5307 odsState.addOperands(rhs);
5308 assert(resultTypes.size() == 1u &&
"mismatched number of results");
5309 odsState.addTypes(resultTypes);
5312void ConcatOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5313 assert(operands.size() == 2u &&
"mismatched number of parameters");
5314 odsState.addOperands(operands);
5315 odsState.addAttributes(attributes);
5316 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5317 odsState.addTypes(resultTypes);
5320void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5321 assert(operands.size() == 2u &&
"mismatched number of parameters");
5322 odsState.addOperands(operands);
5323 odsState.addAttributes(attributes);
5325 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5327 odsState.location, operands,
5328 odsState.attributes.getDictionary(odsState.getContext()),
5329 odsState.getRawProperties(),
5330 odsState.regions, inferredReturnTypes))) {
5331 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5332 odsState.addTypes(inferredReturnTypes);
5334 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5340 unsigned index = 0; (void)index;
5343 for (
auto v : valueGroup0) {
5344 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
5345 return ::mlir::failure();
5349 for (
auto v : valueGroup1) {
5350 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
5351 return ::mlir::failure();
5355 unsigned index = 0; (void)index;
5358 for (
auto v : valueGroup0) {
5359 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
5360 return ::mlir::failure();
5363 return ::mlir::success();
5370::mlir::ParseResult
ConcatOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
5371 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
5372 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
5373 (void)lhsOperandsLoc;
5374 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
5375 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
5376 (void)rhsOperandsLoc;
5377 ::llvm::SmallVector<::mlir::Type, 1> allOperandTypes;
5379 lhsOperandsLoc = parser.getCurrentLocation();
5380 if (parser.parseOperand(lhsRawOperand))
5381 return ::mlir::failure();
5382 if (parser.parseComma())
5383 return ::mlir::failure();
5385 rhsOperandsLoc = parser.getCurrentLocation();
5386 if (parser.parseOperand(rhsRawOperand))
5387 return ::mlir::failure();
5389 auto loc = parser.getCurrentLocation();(void)loc;
5390 if (parser.parseOptionalAttrDict(result.attributes))
5391 return ::mlir::failure();
5393 if (parser.parseColon())
5394 return ::mlir::failure();
5396 if (parser.parseTypeList(allOperandTypes))
5397 return ::mlir::failure();
5398 if (parser.resolveOperands(::llvm::concat<const ::mlir::OpAsmParser::UnresolvedOperand>(lhsOperands, rhsOperands), allOperandTypes, parser.getNameLoc(), result.operands))
5399 return ::mlir::failure();
5401 ::llvm::SmallVector<::mlir::Type> inferredReturnTypes;
5403 result.location, result.operands,
5404 result.attributes.getDictionary(parser.getContext()),
5405 result.getRawProperties(),
5406 result.regions, inferredReturnTypes)))
5407 return ::mlir::failure();
5408 result.addTypes(inferredReturnTypes);
5409 return ::mlir::success();
5418 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5419 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5420 _odsPrinter <<
' ' <<
":";
5422 _odsPrinter << getOperation()->getOperandTypes();
5425void ConcatOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5444 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
5453 if (tblgen_namePrefix && !((::llvm::isa<::mlir::StringAttr>(tblgen_namePrefix))))
5454 return emitError(loc,
"'smt.declare_fun' op ""attribute 'namePrefix' failed to satisfy constraint: string attribute");
5455 return ::mlir::success();
5459 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
5461 emitError() <<
"expected DictionaryAttr to set properties";
5462 return ::mlir::failure();
5467 auto attr = dict.get(
"namePrefix");
5469 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
5470 if (convertedAttr) {
5471 propStorage = convertedAttr;
5473 emitError() <<
"Invalid attribute `namePrefix` in property conversion: " << attr;
5474 return ::mlir::failure();
5478 return ::mlir::success();
5482 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
5483 ::mlir::Builder odsBuilder{ctx};
5488 attrs.push_back(odsBuilder.getNamedAttr(
"namePrefix",
5493 return odsBuilder.getDictionaryAttr(attrs);
5498 return llvm::hash_combine(
5499 llvm::hash_value(prop.
namePrefix.getAsOpaquePointer()));
5503 if (name ==
"namePrefix")
5505 return std::nullopt;
5509 if (name ==
"namePrefix") {
5510 prop.
namePrefix = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
namePrefix)>>(value);
5522 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(attr,
"namePrefix", emitError)))
5523 return ::mlir::failure();
5525 return ::mlir::success();
5529 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
5530 if (::mlir::failed(reader.readOptionalAttribute(prop.
namePrefix)))
5531 return ::mlir::failure();
5532 return ::mlir::success();
5536 auto &prop = getProperties(); (void)prop;
5538 writer.writeOptionalAttribute(prop.
namePrefix);
5543 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
5547 auto &odsProp = getProperties().namePrefix;
5549 odsProp = ::mlir::Builder((*this)->getContext()).getStringAttr(*attrValue);
5555 build(odsBuilder, odsState, type,
nullptr);
5559void DeclareFunOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::StringAttr namePrefix) {
5561 odsState.getOrAddProperties<
Properties>().namePrefix = namePrefix;
5563 odsState.addTypes(result);
5566void DeclareFunOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr namePrefix) {
5568 odsState.getOrAddProperties<
Properties>().namePrefix = namePrefix;
5570 assert(resultTypes.size() == 1u &&
"mismatched number of results");
5571 odsState.addTypes(resultTypes);
5574void DeclareFunOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5575 assert(operands.size() == 0u &&
"mismatched number of parameters");
5576 odsState.addOperands(operands);
5577 odsState.addAttributes(attributes);
5578 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5579 odsState.addTypes(resultTypes);
5581 if (!attributes.empty()) {
5582 ::mlir::OpaqueProperties properties =
5584 std::optional<::mlir::RegisteredOperationName> info =
5585 odsState.name.getRegisteredInfo();
5586 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
5587 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
5588 ::llvm::report_fatal_error(
"Property conversion failed.");
5593 auto tblgen_namePrefix = getProperties().namePrefix; (void)tblgen_namePrefix;
5595 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(*
this, tblgen_namePrefix,
"namePrefix")))
5596 return ::mlir::failure();
5598 unsigned index = 0; (void)index;
5601 for (
auto v : valueGroup0) {
5602 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
5603 return ::mlir::failure();
5606 return ::mlir::success();
5614 ::mlir::StringAttr namePrefixAttr;
5615 ::mlir::Type resultRawType{};
5616 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
5618 ::mlir::OptionalParseResult parseResultnamePrefixAttr =
5619 parser.parseOptionalAttribute(namePrefixAttr, parser.getBuilder().getType<::mlir::NoneType>());
5620 if (parseResultnamePrefixAttr.has_value() && failed(*parseResultnamePrefixAttr))
5621 return ::mlir::failure();
5622 if (parseResultnamePrefixAttr.has_value() && succeeded(*parseResultnamePrefixAttr))
5624 if (namePrefixAttr) {
5627 auto loc = parser.getCurrentLocation();(void)loc;
5628 if (parser.parseOptionalAttrDict(result.attributes))
5629 return ::mlir::failure();
5631 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
5633 return ::mlir::failure();
5635 if (parser.parseColon())
5636 return ::mlir::failure();
5638 if (parser.parseType(resultRawType))
5639 return ::mlir::failure();
5640 result.addTypes(resultTypes);
5641 return ::mlir::success();
5649 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5650 elidedAttrs.push_back(
"namePrefix");
5651 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5652 _odsPrinter <<
' ' <<
":";
5660 for (
unsigned idx = valueRange.first; idx < valueRange.first + valueRange.second; idx++) {
5661 effects.emplace_back(::mlir::MemoryEffects::Allocate::get(), getOperation()->getOpResult(idx), 0,
false, ::mlir::SideEffects::DefaultResource::get());
5679 bool isVariadic[] = {
true};
5680 int prevVariadicCount = 0;
5681 for (
unsigned i = 0; i < index; ++i)
5682 if (isVariadic[i]) ++prevVariadicCount;
5686 int variadicSize = (odsOperandsSize - 0) / 1;
5691 int start = index + (variadicSize - 1) * prevVariadicCount;
5692 int size = isVariadic[index] ? variadicSize : 1;
5693 return {start, size};
5700 return ::mlir::success();
5704 bool isVariadic[] = {
true};
5705 int prevVariadicCount = 0;
5706 for (
unsigned i = 0; i < index; ++i)
5707 if (isVariadic[i]) ++prevVariadicCount;
5711 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
5716 int start = index + (variadicSize - 1) * prevVariadicCount;
5717 int size = isVariadic[index] ? variadicSize : 1;
5718 return {start, size};
5723 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
5724 return mutableRange;
5727void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
5728 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
5732void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
5733 odsState.addOperands(inputs);
5734 odsState.addTypes(result);
5737void DistinctOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5738 odsState.addOperands(operands);
5739 odsState.addAttributes(attributes);
5740 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5741 odsState.addTypes(resultTypes);
5744void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5745 odsState.addOperands(operands);
5746 odsState.addAttributes(attributes);
5748 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5750 odsState.location, operands,
5751 odsState.attributes.getDictionary(odsState.getContext()),
5752 odsState.getRawProperties(),
5753 odsState.regions, inferredReturnTypes))) {
5754 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5755 odsState.addTypes(inferredReturnTypes);
5757 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5763 unsigned index = 0; (void)index;
5766 for (
auto v : valueGroup0) {
5767 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
5768 return ::mlir::failure();
5772 unsigned index = 0; (void)index;
5775 for (
auto v : valueGroup0) {
5776 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5777 return ::mlir::failure();
5780 return ::mlir::success();
5785 return ::mlir::success();
5786 return ::mlir::failure();
5789::llvm::LogicalResult
DistinctOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
5790 inferredReturnTypes.resize(1);
5791 ::mlir::Builder odsBuilder(context);
5793 inferredReturnTypes[0] = odsInferredType0;
5794 return ::mlir::success();
5797void DistinctOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5813 bool isVariadic[] = {
true};
5814 int prevVariadicCount = 0;
5815 for (
unsigned i = 0; i < index; ++i)
5816 if (isVariadic[i]) ++prevVariadicCount;
5820 int variadicSize = (odsOperandsSize - 0) / 1;
5825 int start = index + (variadicSize - 1) * prevVariadicCount;
5826 int size = isVariadic[index] ? variadicSize : 1;
5827 return {start, size};
5834 return ::mlir::success();
5838 bool isVariadic[] = {
true};
5839 int prevVariadicCount = 0;
5840 for (
unsigned i = 0; i < index; ++i)
5841 if (isVariadic[i]) ++prevVariadicCount;
5845 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
5850 int start = index + (variadicSize - 1) * prevVariadicCount;
5851 int size = isVariadic[index] ? variadicSize : 1;
5852 return {start, size};
5857 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
5858 return mutableRange;
5861void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
5862 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
5866void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
5867 odsState.addOperands(inputs);
5868 odsState.addTypes(result);
5871void EqOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5872 odsState.addOperands(operands);
5873 odsState.addAttributes(attributes);
5874 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5875 odsState.addTypes(resultTypes);
5878void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5879 odsState.addOperands(operands);
5880 odsState.addAttributes(attributes);
5882 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5884 odsState.location, operands,
5885 odsState.attributes.getDictionary(odsState.getContext()),
5886 odsState.getRawProperties(),
5887 odsState.regions, inferredReturnTypes))) {
5888 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5889 odsState.addTypes(inferredReturnTypes);
5891 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5897 unsigned index = 0; (void)index;
5900 for (
auto v : valueGroup0) {
5901 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
5902 return ::mlir::failure();
5906 unsigned index = 0; (void)index;
5909 for (
auto v : valueGroup0) {
5910 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5911 return ::mlir::failure();
5914 return ::mlir::success();
5919 return ::mlir::success();
5920 return ::mlir::failure();
5923::llvm::LogicalResult
EqOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
5924 inferredReturnTypes.resize(1);
5925 ::mlir::Builder odsBuilder(context);
5927 inferredReturnTypes[0] = odsInferredType0;
5928 return ::mlir::success();
5931void EqOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5949 auto attr = ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(
getProperties().weight);
5955 return attr.getValue().getZExtValue();
5959 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().noPattern);
5961 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
5968 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
5969 return attr !=
nullptr;
5974 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
5985 if (tblgen_weight && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_weight))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_weight).getType().isSignlessInteger(32)))))
5986 return emitError(loc,
"'smt.exists' op ""attribute 'weight' failed to satisfy constraint: 32-bit signless integer attribute");
5988 if (tblgen_noPattern && !((::llvm::isa<::mlir::UnitAttr>(tblgen_noPattern))))
5989 return emitError(loc,
"'smt.exists' op ""attribute 'noPattern' failed to satisfy constraint: unit attribute");
5991 if (tblgen_boundVarNames && !(((::llvm::isa<::mlir::ArrayAttr>(tblgen_boundVarNames))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(tblgen_boundVarNames), [&](::mlir::Attribute attr) {
return attr && ((::llvm::isa<::mlir::StringAttr>(attr))); }))))
5992 return emitError(loc,
"'smt.exists' op ""attribute 'boundVarNames' failed to satisfy constraint: string array attribute");
5993 return ::mlir::success();
5997 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
5999 emitError() <<
"expected DictionaryAttr to set properties";
6000 return ::mlir::failure();
6005 auto attr = dict.get(
"boundVarNames");
6007 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6008 if (convertedAttr) {
6009 propStorage = convertedAttr;
6011 emitError() <<
"Invalid attribute `boundVarNames` in property conversion: " << attr;
6012 return ::mlir::failure();
6019 auto attr = dict.get(
"noPattern");
6021 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6022 if (convertedAttr) {
6023 propStorage = convertedAttr;
6025 emitError() <<
"Invalid attribute `noPattern` in property conversion: " << attr;
6026 return ::mlir::failure();
6032 auto &propStorage = prop.
weight;
6033 auto attr = dict.get(
"weight");
6035 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6036 if (convertedAttr) {
6037 propStorage = convertedAttr;
6039 emitError() <<
"Invalid attribute `weight` in property conversion: " << attr;
6040 return ::mlir::failure();
6044 return ::mlir::success();
6048 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6049 ::mlir::Builder odsBuilder{ctx};
6054 attrs.push_back(odsBuilder.getNamedAttr(
"boundVarNames",
6059 const auto &propStorage = prop.
noPattern;
6061 attrs.push_back(odsBuilder.getNamedAttr(
"noPattern",
6066 const auto &propStorage = prop.
weight;
6068 attrs.push_back(odsBuilder.getNamedAttr(
"weight",
6073 return odsBuilder.getDictionaryAttr(attrs);
6078 return llvm::hash_combine(
6080 llvm::hash_value(prop.
noPattern.getAsOpaquePointer()),
6081 llvm::hash_value(prop.
weight.getAsOpaquePointer()));
6085 if (name ==
"boundVarNames")
6088 if (name ==
"noPattern")
6091 if (name ==
"weight")
6093 return std::nullopt;
6097 if (name ==
"boundVarNames") {
6102 if (name ==
"noPattern") {
6103 prop.
noPattern = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
noPattern)>>(value);
6107 if (name ==
"weight") {
6108 prop.
weight = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
weight)>>(value);
6121::llvm::LogicalResult
ExistsOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6124 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(attr,
"boundVarNames", emitError)))
6125 return ::mlir::failure();
6130 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"noPattern", emitError)))
6131 return ::mlir::failure();
6136 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"weight", emitError)))
6137 return ::mlir::failure();
6139 return ::mlir::success();
6143 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6144 if (::mlir::failed(reader.readOptionalAttribute(prop.
boundVarNames)))
6145 return ::mlir::failure();
6147 if (::mlir::failed(reader.readOptionalAttribute(prop.
noPattern)))
6148 return ::mlir::failure();
6150 if (::mlir::failed(reader.readOptionalAttribute(prop.
weight)))
6151 return ::mlir::failure();
6152 return ::mlir::success();
6156 auto &prop = getProperties(); (void)prop;
6160 writer.writeOptionalAttribute(prop.
noPattern);
6162 writer.writeOptionalAttribute(prop.
weight);
6167 return attr.getValue().getZExtValue();
6173 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6174 return attr !=
nullptr;
6179 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6183 getProperties().weight = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6187 auto &odsProp = getProperties().noPattern;
6189 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
6195 ::mlir::Builder odsBuilder(opName.getContext());
6197 properties.
weight = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0);
6201 auto tblgen_boundVarNames = getProperties().boundVarNames; (void)tblgen_boundVarNames;
6202 auto tblgen_noPattern = getProperties().noPattern; (void)tblgen_noPattern;
6203 auto tblgen_weight = getProperties().weight; (void)tblgen_weight;
6205 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_weight,
"weight")))
6206 return ::mlir::failure();
6208 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_noPattern,
"noPattern")))
6209 return ::mlir::failure();
6211 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(*
this, tblgen_boundVarNames,
"boundVarNames")))
6212 return ::mlir::failure();
6214 unsigned index = 0; (void)index;
6217 for (
auto v : valueGroup0) {
6218 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
6219 return ::mlir::failure();
6223 unsigned index = 0; (void)index;
6225 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
6226 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"body", index++)))
6227 return ::mlir::failure();
6230 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"patterns", index++)))
6231 return ::mlir::failure();
6233 return ::mlir::success();
6238 return ::mlir::success();
6239 return ::mlir::failure();
6242::llvm::LogicalResult
ExistsOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
6243 inferredReturnTypes.resize(1);
6244 ::mlir::Builder odsBuilder(context);
6246 inferredReturnTypes[0] = odsInferredType0;
6247 return ::mlir::success();
6250::mlir::ParseResult
ExistsOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6251 ::mlir::ArrayAttr boundVarNamesAttr;
6252 ::mlir::IntegerAttr weightAttr;
6253 std::unique_ptr<::mlir::Region> bodyRegion = std::make_unique<::mlir::Region>();
6254 ::llvm::SmallVector<std::unique_ptr<::mlir::Region>, 2> patternsRegions;
6256 ::mlir::OptionalParseResult parseResultboundVarNamesAttr =
6257 parser.parseOptionalAttribute(boundVarNamesAttr, parser.getBuilder().getType<::mlir::NoneType>());
6258 if (parseResultboundVarNamesAttr.has_value() && failed(*parseResultboundVarNamesAttr))
6259 return ::mlir::failure();
6260 if (parseResultboundVarNamesAttr.has_value() && succeeded(*parseResultboundVarNamesAttr))
6261 if (boundVarNamesAttr) result.getOrAddProperties<
ExistsOp::Properties>().boundVarNames = boundVarNamesAttr;
6262 if (boundVarNamesAttr) {
6264 if (::mlir::succeeded(parser.parseOptionalKeyword(
"no_pattern"))) {
6265 result.getOrAddProperties<
ExistsOp::Properties>().noPattern = parser.getBuilder().getUnitAttr(); }
6266 if (::mlir::succeeded(parser.parseOptionalKeyword(
"weight"))) {
6268 if (parser.parseCustomAttributeWithFallback(weightAttr, parser.getBuilder().getIntegerType(32))) {
6269 return ::mlir::failure();
6274 auto loc = parser.getCurrentLocation();(void)loc;
6275 if (parser.parseOptionalAttrDictWithKeyword(result.attributes))
6276 return ::mlir::failure();
6278 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6280 return ::mlir::failure();
6283 if (parser.parseRegion(*bodyRegion))
6284 return ::mlir::failure();
6286 ensureTerminator(*bodyRegion, parser.getBuilder(), result.location);
6287 if (::mlir::succeeded(parser.parseOptionalKeyword(
"patterns"))) {
6290 std::unique_ptr<::mlir::Region> region;
6291 auto firstRegionResult = parser.parseOptionalRegion(region);
6292 if (firstRegionResult.has_value()) {
6293 if (failed(*firstRegionResult))
6294 return ::mlir::failure();
6295 patternsRegions.emplace_back(std::move(region));
6298 while (succeeded(parser.parseOptionalComma())) {
6299 region = std::make_unique<::mlir::Region>();
6300 if (parser.parseRegion(*region))
6301 return ::mlir::failure();
6302 patternsRegions.emplace_back(std::move(region));
6307 for (
auto ®ion : patternsRegions)
6308 ensureTerminator(*region, parser.getBuilder(), result.location);
6310 result.addRegion(std::move(bodyRegion));
6311 result.addRegions(patternsRegions);
6313 result.addTypes(odsBuildableType0);
6314 return ::mlir::success();
6323 _odsPrinter <<
' ' <<
"no_pattern";
6325 if (
getWeightAttr() != ::mlir::OpBuilder((*this)->getContext()).getIntegerAttr(::mlir::OpBuilder((*this)->getContext()).getIntegerType(32), 0)) {
6326 _odsPrinter <<
' ' <<
"weight";
6330 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
6331 elidedAttrs.push_back(
"boundVarNames");
6332 elidedAttrs.push_back(
"noPattern");
6333 elidedAttrs.push_back(
"weight");
6335 ::mlir::Builder odsBuilder(getContext());
6337 if(attr && (attr == odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0)))
6338 elidedAttrs.push_back(
"weight");
6341 ::mlir::Builder odsBuilder(getContext());
6343 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
6344 elidedAttrs.push_back(
"noPattern");
6346 _odsPrinter.printOptionalAttrDictWithKeyword((*this)->getAttrs(), elidedAttrs);
6350 bool printTerminator =
true;
6351 if (
auto *term =
getBody().empty() ?
nullptr :
getBody().begin()->getTerminator()) {
6352 printTerminator = !term->getAttrDictionary().empty() ||
6353 term->getNumOperands() != 0 ||
6354 term->getNumResults() != 0;
6356 _odsPrinter.printRegion(
getBody(),
true,
6360 _odsPrinter <<
' ' <<
"patterns";
6362 llvm::interleaveComma(
getPatterns(), _odsPrinter, [&](::mlir::Region ®ion) {
6365 bool printTerminator =
true;
6366 if (
auto *term = region.empty() ?
nullptr : region.begin()->getTerminator()) {
6367 printTerminator = !term->getAttrDictionary().empty() ||
6368 term->getNumOperands() != 0 ||
6369 term->getNumResults() != 0;
6371 _odsPrinter.printRegion(region,
true,
6394 return attr.getValue().getZExtValue();
6402 if (!tblgen_lowBit)
return emitError(loc,
"'smt.bv.extract' op ""requires attribute 'lowBit'");
6404 if (tblgen_lowBit && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_lowBit))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_lowBit).getType().isSignlessInteger(32)))))
6405 return emitError(loc,
"'smt.bv.extract' op ""attribute 'lowBit' failed to satisfy constraint: 32-bit signless integer attribute");
6406 return ::mlir::success();
6410 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
6412 emitError() <<
"expected DictionaryAttr to set properties";
6413 return ::mlir::failure();
6417 auto &propStorage = prop.
lowBit;
6418 auto attr = dict.get(
"lowBit");
6420 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6421 if (convertedAttr) {
6422 propStorage = convertedAttr;
6424 emitError() <<
"Invalid attribute `lowBit` in property conversion: " << attr;
6425 return ::mlir::failure();
6429 return ::mlir::success();
6433 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6434 ::mlir::Builder odsBuilder{ctx};
6437 const auto &propStorage = prop.
lowBit;
6439 attrs.push_back(odsBuilder.getNamedAttr(
"lowBit",
6444 return odsBuilder.getDictionaryAttr(attrs);
6449 return llvm::hash_combine(
6450 llvm::hash_value(prop.
lowBit.getAsOpaquePointer()));
6454 if (name ==
"lowBit")
6456 return std::nullopt;
6460 if (name ==
"lowBit") {
6461 prop.
lowBit = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
lowBit)>>(value);
6470::llvm::LogicalResult
ExtractOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6473 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"lowBit", emitError)))
6474 return ::mlir::failure();
6476 return ::mlir::success();
6480 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6481 if (::mlir::failed(reader.readAttribute(prop.
lowBit)))
6482 return ::mlir::failure();
6483 return ::mlir::success();
6487 auto &prop = getProperties(); (void)prop;
6488 writer.writeAttribute(prop.
lowBit);
6493 return attr.getValue().getZExtValue();
6497 getProperties().lowBit = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6500void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr lowBit, ::mlir::Value input) {
6501 odsState.addOperands(input);
6502 odsState.getOrAddProperties<
Properties>().lowBit = lowBit;
6503 odsState.addTypes(result);
6506void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr lowBit, ::mlir::Value input) {
6507 odsState.addOperands(input);
6508 odsState.getOrAddProperties<
Properties>().lowBit = lowBit;
6509 assert(resultTypes.size() == 1u &&
"mismatched number of results");
6510 odsState.addTypes(resultTypes);
6513void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, uint32_t lowBit, ::mlir::Value input) {
6514 odsState.addOperands(input);
6515 odsState.getOrAddProperties<
Properties>().lowBit = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), lowBit);
6516 odsState.addTypes(result);
6519void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t lowBit, ::mlir::Value input) {
6520 odsState.addOperands(input);
6521 odsState.getOrAddProperties<
Properties>().lowBit = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), lowBit);
6522 assert(resultTypes.size() == 1u &&
"mismatched number of results");
6523 odsState.addTypes(resultTypes);
6526void ExtractOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
6527 assert(operands.size() == 1u &&
"mismatched number of parameters");
6528 odsState.addOperands(operands);
6529 odsState.addAttributes(attributes);
6530 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
6531 odsState.addTypes(resultTypes);
6533 if (!attributes.empty()) {
6534 ::mlir::OpaqueProperties properties =
6536 std::optional<::mlir::RegisteredOperationName> info =
6537 odsState.name.getRegisteredInfo();
6538 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
6539 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
6540 ::llvm::report_fatal_error(
"Property conversion failed.");
6545 auto tblgen_lowBit = getProperties().lowBit; (void)tblgen_lowBit;
6546 if (!tblgen_lowBit)
return emitOpError(
"requires attribute 'lowBit'");
6548 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_lowBit,
"lowBit")))
6549 return ::mlir::failure();
6551 unsigned index = 0; (void)index;
6554 for (
auto v : valueGroup0) {
6555 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
6556 return ::mlir::failure();
6560 unsigned index = 0; (void)index;
6563 for (
auto v : valueGroup0) {
6564 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
6565 return ::mlir::failure();
6568 return ::mlir::success();
6573 return ::mlir::success();
6574 return ::mlir::failure();
6577::mlir::ParseResult
ExtractOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6578 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
6579 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
6580 (void)inputOperandsLoc;
6581 ::mlir::IntegerAttr lowBitAttr;
6582 ::llvm::ArrayRef<::mlir::Type> inputTypes;
6583 ::llvm::ArrayRef<::mlir::Type> resultTypes;
6585 inputOperandsLoc = parser.getCurrentLocation();
6586 if (parser.parseOperand(inputRawOperand))
6587 return ::mlir::failure();
6588 if (parser.parseKeyword(
"from"))
6589 return ::mlir::failure();
6591 if (parser.parseCustomAttributeWithFallback(lowBitAttr, parser.getBuilder().getIntegerType(32))) {
6592 return ::mlir::failure();
6596 auto loc = parser.getCurrentLocation();(void)loc;
6597 if (parser.parseOptionalAttrDict(result.attributes))
6598 return ::mlir::failure();
6600 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6602 return ::mlir::failure();
6604 if (parser.parseColon())
6605 return ::mlir::failure();
6607 ::mlir::FunctionType input__result_functionType;
6608 if (parser.parseType(input__result_functionType))
6609 return ::mlir::failure();
6610 inputTypes = input__result_functionType.getInputs();
6611 resultTypes = input__result_functionType.getResults();
6612 result.addTypes(resultTypes);
6613 if (parser.resolveOperands(inputOperands, inputTypes, inputOperandsLoc, result.operands))
6614 return ::mlir::failure();
6615 return ::mlir::success();
6621 _odsPrinter <<
' ' <<
"from";
6624 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
6625 elidedAttrs.push_back(
"lowBit");
6626 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
6627 _odsPrinter <<
' ' <<
":";
6629 _odsPrinter.printFunctionalType(::llvm::ArrayRef<::mlir::Type>(
getInput().getType()), ::llvm::ArrayRef<::mlir::Type>(
getResult().getType()));
6632void ExtractOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
6650 auto attr = ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(
getProperties().weight);
6656 return attr.getValue().getZExtValue();
6660 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().noPattern);
6662 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
6669 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6670 return attr !=
nullptr;
6675 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6686 if (tblgen_weight && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_weight))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_weight).getType().isSignlessInteger(32)))))
6687 return emitError(loc,
"'smt.forall' op ""attribute 'weight' failed to satisfy constraint: 32-bit signless integer attribute");
6689 if (tblgen_noPattern && !((::llvm::isa<::mlir::UnitAttr>(tblgen_noPattern))))
6690 return emitError(loc,
"'smt.forall' op ""attribute 'noPattern' failed to satisfy constraint: unit attribute");
6692 if (tblgen_boundVarNames && !(((::llvm::isa<::mlir::ArrayAttr>(tblgen_boundVarNames))) && (::llvm::all_of(::llvm::cast<::mlir::ArrayAttr>(tblgen_boundVarNames), [&](::mlir::Attribute attr) {
return attr && ((::llvm::isa<::mlir::StringAttr>(attr))); }))))
6693 return emitError(loc,
"'smt.forall' op ""attribute 'boundVarNames' failed to satisfy constraint: string array attribute");
6694 return ::mlir::success();
6698 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
6700 emitError() <<
"expected DictionaryAttr to set properties";
6701 return ::mlir::failure();
6706 auto attr = dict.get(
"boundVarNames");
6708 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6709 if (convertedAttr) {
6710 propStorage = convertedAttr;
6712 emitError() <<
"Invalid attribute `boundVarNames` in property conversion: " << attr;
6713 return ::mlir::failure();
6720 auto attr = dict.get(
"noPattern");
6722 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6723 if (convertedAttr) {
6724 propStorage = convertedAttr;
6726 emitError() <<
"Invalid attribute `noPattern` in property conversion: " << attr;
6727 return ::mlir::failure();
6733 auto &propStorage = prop.
weight;
6734 auto attr = dict.get(
"weight");
6736 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6737 if (convertedAttr) {
6738 propStorage = convertedAttr;
6740 emitError() <<
"Invalid attribute `weight` in property conversion: " << attr;
6741 return ::mlir::failure();
6745 return ::mlir::success();
6749 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6750 ::mlir::Builder odsBuilder{ctx};
6755 attrs.push_back(odsBuilder.getNamedAttr(
"boundVarNames",
6760 const auto &propStorage = prop.
noPattern;
6762 attrs.push_back(odsBuilder.getNamedAttr(
"noPattern",
6767 const auto &propStorage = prop.
weight;
6769 attrs.push_back(odsBuilder.getNamedAttr(
"weight",
6774 return odsBuilder.getDictionaryAttr(attrs);
6779 return llvm::hash_combine(
6781 llvm::hash_value(prop.
noPattern.getAsOpaquePointer()),
6782 llvm::hash_value(prop.
weight.getAsOpaquePointer()));
6786 if (name ==
"boundVarNames")
6789 if (name ==
"noPattern")
6792 if (name ==
"weight")
6794 return std::nullopt;
6798 if (name ==
"boundVarNames") {
6803 if (name ==
"noPattern") {
6804 prop.
noPattern = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
noPattern)>>(value);
6808 if (name ==
"weight") {
6809 prop.
weight = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
weight)>>(value);
6822::llvm::LogicalResult
ForallOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6825 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(attr,
"boundVarNames", emitError)))
6826 return ::mlir::failure();
6831 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"noPattern", emitError)))
6832 return ::mlir::failure();
6837 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"weight", emitError)))
6838 return ::mlir::failure();
6840 return ::mlir::success();
6844 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6845 if (::mlir::failed(reader.readOptionalAttribute(prop.
boundVarNames)))
6846 return ::mlir::failure();
6848 if (::mlir::failed(reader.readOptionalAttribute(prop.
noPattern)))
6849 return ::mlir::failure();
6851 if (::mlir::failed(reader.readOptionalAttribute(prop.
weight)))
6852 return ::mlir::failure();
6853 return ::mlir::success();
6857 auto &prop = getProperties(); (void)prop;
6861 writer.writeOptionalAttribute(prop.
noPattern);
6863 writer.writeOptionalAttribute(prop.
weight);
6868 return attr.getValue().getZExtValue();
6874 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6875 return attr !=
nullptr;
6880 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6884 getProperties().weight = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6888 auto &odsProp = getProperties().noPattern;
6890 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
6896 ::mlir::Builder odsBuilder(opName.getContext());
6898 properties.
weight = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0);
6902 auto tblgen_boundVarNames = getProperties().boundVarNames; (void)tblgen_boundVarNames;
6903 auto tblgen_noPattern = getProperties().noPattern; (void)tblgen_noPattern;
6904 auto tblgen_weight = getProperties().weight; (void)tblgen_weight;
6906 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_weight,
"weight")))
6907 return ::mlir::failure();
6909 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_noPattern,
"noPattern")))
6910 return ::mlir::failure();
6912 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(*
this, tblgen_boundVarNames,
"boundVarNames")))
6913 return ::mlir::failure();
6915 unsigned index = 0; (void)index;
6918 for (
auto v : valueGroup0) {
6919 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
6920 return ::mlir::failure();
6924 unsigned index = 0; (void)index;
6926 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
6927 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"body", index++)))
6928 return ::mlir::failure();
6931 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"patterns", index++)))
6932 return ::mlir::failure();
6934 return ::mlir::success();
6939 return ::mlir::success();
6940 return ::mlir::failure();
6943::llvm::LogicalResult
ForallOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
6944 inferredReturnTypes.resize(1);
6945 ::mlir::Builder odsBuilder(context);
6947 inferredReturnTypes[0] = odsInferredType0;
6948 return ::mlir::success();
6951::mlir::ParseResult
ForallOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6952 ::mlir::ArrayAttr boundVarNamesAttr;
6953 ::mlir::IntegerAttr weightAttr;
6954 std::unique_ptr<::mlir::Region> bodyRegion = std::make_unique<::mlir::Region>();
6955 ::llvm::SmallVector<std::unique_ptr<::mlir::Region>, 2> patternsRegions;
6957 ::mlir::OptionalParseResult parseResultboundVarNamesAttr =
6958 parser.parseOptionalAttribute(boundVarNamesAttr, parser.getBuilder().getType<::mlir::NoneType>());
6959 if (parseResultboundVarNamesAttr.has_value() && failed(*parseResultboundVarNamesAttr))
6960 return ::mlir::failure();
6961 if (parseResultboundVarNamesAttr.has_value() && succeeded(*parseResultboundVarNamesAttr))
6962 if (boundVarNamesAttr) result.getOrAddProperties<
ForallOp::Properties>().boundVarNames = boundVarNamesAttr;
6963 if (boundVarNamesAttr) {
6965 if (::mlir::succeeded(parser.parseOptionalKeyword(
"no_pattern"))) {
6966 result.getOrAddProperties<
ForallOp::Properties>().noPattern = parser.getBuilder().getUnitAttr(); }
6967 if (::mlir::succeeded(parser.parseOptionalKeyword(
"weight"))) {
6969 if (parser.parseCustomAttributeWithFallback(weightAttr, parser.getBuilder().getIntegerType(32))) {
6970 return ::mlir::failure();
6975 auto loc = parser.getCurrentLocation();(void)loc;
6976 if (parser.parseOptionalAttrDictWithKeyword(result.attributes))
6977 return ::mlir::failure();
6979 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6981 return ::mlir::failure();
6984 if (parser.parseRegion(*bodyRegion))
6985 return ::mlir::failure();
6987 ensureTerminator(*bodyRegion, parser.getBuilder(), result.location);
6988 if (::mlir::succeeded(parser.parseOptionalKeyword(
"patterns"))) {
6991 std::unique_ptr<::mlir::Region> region;
6992 auto firstRegionResult = parser.parseOptionalRegion(region);
6993 if (firstRegionResult.has_value()) {
6994 if (failed(*firstRegionResult))
6995 return ::mlir::failure();
6996 patternsRegions.emplace_back(std::move(region));
6999 while (succeeded(parser.parseOptionalComma())) {
7000 region = std::make_unique<::mlir::Region>();
7001 if (parser.parseRegion(*region))
7002 return ::mlir::failure();
7003 patternsRegions.emplace_back(std::move(region));
7008 for (
auto ®ion : patternsRegions)
7009 ensureTerminator(*region, parser.getBuilder(), result.location);
7011 result.addRegion(std::move(bodyRegion));
7012 result.addRegions(patternsRegions);
7014 result.addTypes(odsBuildableType0);
7015 return ::mlir::success();
7024 _odsPrinter <<
' ' <<
"no_pattern";
7026 if (
getWeightAttr() != ::mlir::OpBuilder((*this)->getContext()).getIntegerAttr(::mlir::OpBuilder((*this)->getContext()).getIntegerType(32), 0)) {
7027 _odsPrinter <<
' ' <<
"weight";
7031 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7032 elidedAttrs.push_back(
"boundVarNames");
7033 elidedAttrs.push_back(
"noPattern");
7034 elidedAttrs.push_back(
"weight");
7036 ::mlir::Builder odsBuilder(getContext());
7038 if(attr && (attr == odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0)))
7039 elidedAttrs.push_back(
"weight");
7042 ::mlir::Builder odsBuilder(getContext());
7044 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
7045 elidedAttrs.push_back(
"noPattern");
7047 _odsPrinter.printOptionalAttrDictWithKeyword((*this)->getAttrs(), elidedAttrs);
7051 bool printTerminator =
true;
7052 if (
auto *term =
getBody().empty() ?
nullptr :
getBody().begin()->getTerminator()) {
7053 printTerminator = !term->getAttrDictionary().empty() ||
7054 term->getNumOperands() != 0 ||
7055 term->getNumResults() != 0;
7057 _odsPrinter.printRegion(
getBody(),
true,
7061 _odsPrinter <<
' ' <<
"patterns";
7063 llvm::interleaveComma(
getPatterns(), _odsPrinter, [&](::mlir::Region ®ion) {
7066 bool printTerminator =
true;
7067 if (
auto *term = region.empty() ?
nullptr : region.begin()->getTerminator()) {
7068 printTerminator = !term->getAttrDictionary().empty() ||
7069 term->getNumOperands() != 0 ||
7070 term->getNumResults() != 0;
7072 _odsPrinter.printRegion(region,
true,
7095 return ::mlir::success();
7098void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
7099 odsState.addOperands(lhs);
7100 odsState.addOperands(rhs);
7101 odsState.addTypes(result);
7104void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
7105 odsState.addOperands(lhs);
7106 odsState.addOperands(rhs);
7108 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7110 odsState.location, odsState.operands,
7111 odsState.attributes.getDictionary(odsState.getContext()),
7112 odsState.getRawProperties(),
7113 odsState.regions, inferredReturnTypes)))
7114 odsState.addTypes(inferredReturnTypes);
7116 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7120void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
7121 odsState.addOperands(lhs);
7122 odsState.addOperands(rhs);
7123 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7124 odsState.addTypes(resultTypes);
7127void ImpliesOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7128 assert(operands.size() == 2u &&
"mismatched number of parameters");
7129 odsState.addOperands(operands);
7130 odsState.addAttributes(attributes);
7131 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7132 odsState.addTypes(resultTypes);
7135void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7136 assert(operands.size() == 2u &&
"mismatched number of parameters");
7137 odsState.addOperands(operands);
7138 odsState.addAttributes(attributes);
7140 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7142 odsState.location, operands,
7143 odsState.attributes.getDictionary(odsState.getContext()),
7144 odsState.getRawProperties(),
7145 odsState.regions, inferredReturnTypes))) {
7146 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7147 odsState.addTypes(inferredReturnTypes);
7149 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7155 unsigned index = 0; (void)index;
7158 for (
auto v : valueGroup0) {
7159 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
7160 return ::mlir::failure();
7164 for (
auto v : valueGroup1) {
7165 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
7166 return ::mlir::failure();
7170 unsigned index = 0; (void)index;
7173 for (
auto v : valueGroup0) {
7174 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
7175 return ::mlir::failure();
7178 return ::mlir::success();
7185::llvm::LogicalResult
ImpliesOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
7186 inferredReturnTypes.resize(1);
7187 ::mlir::Builder odsBuilder(context);
7189 inferredReturnTypes[0] = odsInferredType0;
7190 return ::mlir::success();
7193::mlir::ParseResult
ImpliesOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7194 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
7195 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
7196 (void)lhsOperandsLoc;
7197 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
7198 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
7199 (void)rhsOperandsLoc;
7201 lhsOperandsLoc = parser.getCurrentLocation();
7202 if (parser.parseOperand(lhsRawOperand))
7203 return ::mlir::failure();
7204 if (parser.parseComma())
7205 return ::mlir::failure();
7207 rhsOperandsLoc = parser.getCurrentLocation();
7208 if (parser.parseOperand(rhsRawOperand))
7209 return ::mlir::failure();
7211 auto loc = parser.getCurrentLocation();(void)loc;
7212 if (parser.parseOptionalAttrDict(result.attributes))
7213 return ::mlir::failure();
7216 result.addTypes(odsBuildableType0);
7217 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
7218 return ::mlir::failure();
7219 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
7220 return ::mlir::failure();
7221 return ::mlir::success();
7230 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7231 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7234void ImpliesOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7253 return ::mlir::success();
7256void Int2BVOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
7257 odsState.addOperands(input);
7258 odsState.addTypes(result);
7261void Int2BVOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
7262 odsState.addOperands(input);
7263 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7264 odsState.addTypes(resultTypes);
7267void Int2BVOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7268 assert(operands.size() == 1u &&
"mismatched number of parameters");
7269 odsState.addOperands(operands);
7270 odsState.addAttributes(attributes);
7271 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7272 odsState.addTypes(resultTypes);
7277 unsigned index = 0; (void)index;
7280 for (
auto v : valueGroup0) {
7281 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7282 return ::mlir::failure();
7286 unsigned index = 0; (void)index;
7289 for (
auto v : valueGroup0) {
7290 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
7291 return ::mlir::failure();
7294 return ::mlir::success();
7301::mlir::ParseResult
Int2BVOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7302 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
7303 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
7304 (void)inputOperandsLoc;
7305 ::mlir::Type resultRawType{};
7306 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
7308 inputOperandsLoc = parser.getCurrentLocation();
7309 if (parser.parseOperand(inputRawOperand))
7310 return ::mlir::failure();
7312 auto loc = parser.getCurrentLocation();(void)loc;
7313 if (parser.parseOptionalAttrDict(result.attributes))
7314 return ::mlir::failure();
7316 if (parser.parseColon())
7317 return ::mlir::failure();
7319 if (parser.parseType(resultRawType))
7320 return ::mlir::failure();
7322 result.addTypes(resultTypes);
7323 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
7324 return ::mlir::failure();
7325 return ::mlir::success();
7331 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7332 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7333 _odsPrinter <<
' ' <<
":";
7338void Int2BVOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7357 return ::mlir::success();
7360void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
7361 odsState.addOperands(input);
7362 odsState.addTypes(result);
7365void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
7366 odsState.addOperands(input);
7368 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7370 odsState.location, odsState.operands,
7371 odsState.attributes.getDictionary(odsState.getContext()),
7372 odsState.getRawProperties(),
7373 odsState.regions, inferredReturnTypes)))
7374 odsState.addTypes(inferredReturnTypes);
7376 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7380void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
7381 odsState.addOperands(input);
7382 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7383 odsState.addTypes(resultTypes);
7386void IntAbsOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7387 assert(operands.size() == 1u &&
"mismatched number of parameters");
7388 odsState.addOperands(operands);
7389 odsState.addAttributes(attributes);
7390 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7391 odsState.addTypes(resultTypes);
7394void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7395 assert(operands.size() == 1u &&
"mismatched number of parameters");
7396 odsState.addOperands(operands);
7397 odsState.addAttributes(attributes);
7399 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7401 odsState.location, operands,
7402 odsState.attributes.getDictionary(odsState.getContext()),
7403 odsState.getRawProperties(),
7404 odsState.regions, inferredReturnTypes))) {
7405 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7406 odsState.addTypes(inferredReturnTypes);
7408 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7414 unsigned index = 0; (void)index;
7417 for (
auto v : valueGroup0) {
7418 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7419 return ::mlir::failure();
7423 unsigned index = 0; (void)index;
7426 for (
auto v : valueGroup0) {
7427 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
7428 return ::mlir::failure();
7431 return ::mlir::success();
7438::llvm::LogicalResult
IntAbsOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
7439 inferredReturnTypes.resize(1);
7440 ::mlir::Builder odsBuilder(context);
7442 inferredReturnTypes[0] = odsInferredType0;
7443 return ::mlir::success();
7446::mlir::ParseResult
IntAbsOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7447 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
7448 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
7449 (void)inputOperandsLoc;
7451 inputOperandsLoc = parser.getCurrentLocation();
7452 if (parser.parseOperand(inputRawOperand))
7453 return ::mlir::failure();
7455 auto loc = parser.getCurrentLocation();(void)loc;
7456 if (parser.parseOptionalAttrDict(result.attributes))
7457 return ::mlir::failure();
7460 result.addTypes(odsBuildableType0);
7461 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
7462 return ::mlir::failure();
7463 return ::mlir::success();
7469 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7470 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7473void IntAbsOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7489 bool isVariadic[] = {
true};
7490 int prevVariadicCount = 0;
7491 for (
unsigned i = 0; i < index; ++i)
7492 if (isVariadic[i]) ++prevVariadicCount;
7496 int variadicSize = (odsOperandsSize - 0) / 1;
7501 int start = index + (variadicSize - 1) * prevVariadicCount;
7502 int size = isVariadic[index] ? variadicSize : 1;
7503 return {start, size};
7510 return ::mlir::success();
7514 bool isVariadic[] = {
true};
7515 int prevVariadicCount = 0;
7516 for (
unsigned i = 0; i < index; ++i)
7517 if (isVariadic[i]) ++prevVariadicCount;
7521 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
7526 int start = index + (variadicSize - 1) * prevVariadicCount;
7527 int size = isVariadic[index] ? variadicSize : 1;
7528 return {start, size};
7533 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
7534 return mutableRange;
7537void IntAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
7538 odsState.addOperands(inputs);
7539 odsState.addTypes(result);
7542void IntAddOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7543 odsState.addOperands(operands);
7544 odsState.addAttributes(attributes);
7545 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7546 odsState.addTypes(resultTypes);
7549void IntAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7550 odsState.addOperands(operands);
7551 odsState.addAttributes(attributes);
7553 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7555 odsState.location, operands,
7556 odsState.attributes.getDictionary(odsState.getContext()),
7557 odsState.getRawProperties(),
7558 odsState.regions, inferredReturnTypes))) {
7559 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7560 odsState.addTypes(inferredReturnTypes);
7562 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7568 unsigned index = 0; (void)index;
7571 for (
auto v : valueGroup0) {
7572 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT11(*
this, v.getType(),
"operand", index++)))
7573 return ::mlir::failure();
7577 unsigned index = 0; (void)index;
7580 for (
auto v : valueGroup0) {
7581 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
7582 return ::mlir::failure();
7585 return ::mlir::success();
7592::llvm::LogicalResult
IntAddOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
7593 inferredReturnTypes.resize(1);
7594 ::mlir::Builder odsBuilder(context);
7596 inferredReturnTypes[0] = odsInferredType0;
7597 return ::mlir::success();
7600::mlir::ParseResult
IntAddOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7601 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
7602 ::llvm::SMLoc inputsOperandsLoc;
7603 (void)inputsOperandsLoc;
7605 inputsOperandsLoc = parser.getCurrentLocation();
7606 if (parser.parseOperandList(inputsOperands))
7607 return ::mlir::failure();
7609 auto loc = parser.getCurrentLocation();(void)loc;
7610 if (parser.parseOptionalAttrDict(result.attributes))
7611 return ::mlir::failure();
7614 result.addTypes(odsBuildableType0);
7615 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
7616 return ::mlir::failure();
7617 return ::mlir::success();
7623 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7624 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7627void IntAddOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7646 return attr.getValue();
7654 if (!tblgen_pred)
return emitError(loc,
"'smt.int.cmp' op ""requires attribute 'pred'");
7656 if (tblgen_pred && !((::llvm::isa<::llzk::smt::IntPredicateAttr>(tblgen_pred))))
7657 return emitError(loc,
"'smt.int.cmp' op ""attribute 'pred' failed to satisfy constraint: smt comparison predicate for integers");
7658 return ::mlir::success();
7662 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
7664 emitError() <<
"expected DictionaryAttr to set properties";
7665 return ::mlir::failure();
7669 auto &propStorage = prop.
pred;
7670 auto attr = dict.
get(
"pred");
7672 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
7673 if (convertedAttr) {
7674 propStorage = convertedAttr;
7676 emitError() <<
"Invalid attribute `pred` in property conversion: " << attr;
7677 return ::mlir::failure();
7681 return ::mlir::success();
7685 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
7686 ::mlir::Builder odsBuilder{ctx};
7689 const auto &propStorage = prop.
pred;
7691 attrs.push_back(odsBuilder.getNamedAttr(
"pred",
7696 return odsBuilder.getDictionaryAttr(attrs);
7701 return llvm::hash_combine(
7702 llvm::hash_value(prop.
pred.getAsOpaquePointer()));
7708 return std::nullopt;
7712 if (name ==
"pred") {
7713 prop.
pred = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
pred)>>(value);
7719 if (prop.
pred) attrs.append(
"pred", prop.
pred);
7722::llvm::LogicalResult
IntCmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
7725 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT8(attr,
"pred", emitError)))
7726 return ::mlir::failure();
7728 return ::mlir::success();
7732 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
7733 if (::mlir::failed(reader.readAttribute(prop.
pred)))
7734 return ::mlir::failure();
7735 return ::mlir::success();
7739 auto &prop = getProperties(); (void)prop;
7740 writer.writeAttribute(prop.
pred);
7745 return attr.getValue();
7753 odsState.addOperands(lhs);
7754 odsState.addOperands(rhs);
7755 odsState.getOrAddProperties<
Properties>().pred = pred;
7756 odsState.addTypes(result);
7760 odsState.addOperands(lhs);
7761 odsState.addOperands(rhs);
7762 odsState.getOrAddProperties<
Properties>().pred = pred;
7764 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7766 odsState.location, odsState.operands,
7767 odsState.attributes.getDictionary(odsState.getContext()),
7768 odsState.getRawProperties(),
7769 odsState.regions, inferredReturnTypes)))
7770 odsState.addTypes(inferredReturnTypes);
7772 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7777 odsState.addOperands(lhs);
7778 odsState.addOperands(rhs);
7779 odsState.getOrAddProperties<
Properties>().pred = pred;
7780 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7781 odsState.addTypes(resultTypes);
7785 odsState.addOperands(lhs);
7786 odsState.addOperands(rhs);
7788 odsState.addTypes(result);
7792 odsState.addOperands(lhs);
7793 odsState.addOperands(rhs);
7796 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7798 odsState.location, odsState.operands,
7799 odsState.attributes.getDictionary(odsState.getContext()),
7800 odsState.getRawProperties(),
7801 odsState.regions, inferredReturnTypes)))
7802 odsState.addTypes(inferredReturnTypes);
7804 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7809 odsState.addOperands(lhs);
7810 odsState.addOperands(rhs);
7812 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7813 odsState.addTypes(resultTypes);
7816void IntCmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7817 assert(operands.size() == 2u &&
"mismatched number of parameters");
7818 odsState.addOperands(operands);
7819 odsState.addAttributes(attributes);
7820 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7821 odsState.addTypes(resultTypes);
7823 if (!attributes.empty()) {
7824 ::mlir::OpaqueProperties properties =
7826 std::optional<::mlir::RegisteredOperationName> info =
7827 odsState.name.getRegisteredInfo();
7828 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
7829 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
7830 ::llvm::report_fatal_error(
"Property conversion failed.");
7834void IntCmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7835 assert(operands.size() == 2u &&
"mismatched number of parameters");
7836 odsState.addOperands(operands);
7837 odsState.addAttributes(attributes);
7839 if (!attributes.empty()) {
7840 ::mlir::OpaqueProperties properties =
7842 std::optional<::mlir::RegisteredOperationName> info =
7843 odsState.name.getRegisteredInfo();
7844 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
7845 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
7846 ::llvm::report_fatal_error(
"Property conversion failed.");
7848 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7850 odsState.location, operands,
7851 odsState.attributes.getDictionary(odsState.getContext()),
7852 odsState.getRawProperties(),
7853 odsState.regions, inferredReturnTypes))) {
7854 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7855 odsState.addTypes(inferredReturnTypes);
7857 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7862 auto tblgen_pred = getProperties().pred; (void)tblgen_pred;
7863 if (!tblgen_pred)
return emitOpError(
"requires attribute 'pred'");
7865 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT8(*
this, tblgen_pred,
"pred")))
7866 return ::mlir::failure();
7868 unsigned index = 0; (void)index;
7871 for (
auto v : valueGroup0) {
7872 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7873 return ::mlir::failure();
7877 for (
auto v : valueGroup1) {
7878 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7879 return ::mlir::failure();
7883 unsigned index = 0; (void)index;
7886 for (
auto v : valueGroup0) {
7887 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
7888 return ::mlir::failure();
7891 return ::mlir::success();
7898::llvm::LogicalResult
IntCmpOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
7899 inferredReturnTypes.resize(1);
7900 ::mlir::Builder odsBuilder(context);
7902 inferredReturnTypes[0] = odsInferredType0;
7903 return ::mlir::success();
7906::mlir::ParseResult
IntCmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7908 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
7909 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
7910 (void)lhsOperandsLoc;
7911 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
7912 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
7913 (void)rhsOperandsLoc;
7916 ::llvm::StringRef attrStr;
7917 ::mlir::NamedAttrList attrStorage;
7918 auto loc = parser.getCurrentLocation();
7919 if (parser.parseOptionalKeyword(&attrStr, {
"lt",
"le",
"gt",
"ge"})) {
7920 ::mlir::StringAttr attrVal;
7921 ::mlir::OptionalParseResult parseResult =
7922 parser.parseOptionalAttribute(attrVal,
7923 parser.getBuilder().getNoneType(),
7924 "pred", attrStorage);
7925 if (parseResult.has_value()) {
7926 if (failed(*parseResult))
7927 return ::mlir::failure();
7928 attrStr = attrVal.getValue();
7930 return parser.emitError(loc,
"expected string or keyword containing one of the following enum values for attribute 'pred' [lt, le, gt, ge]");
7933 if (!attrStr.empty()) {
7936 return parser.emitError(loc,
"invalid ")
7937 <<
"pred attribute specification: \"" << attrStr <<
'"';;
7944 lhsOperandsLoc = parser.getCurrentLocation();
7945 if (parser.parseOperand(lhsRawOperand))
7946 return ::mlir::failure();
7947 if (parser.parseComma())
7948 return ::mlir::failure();
7950 rhsOperandsLoc = parser.getCurrentLocation();
7951 if (parser.parseOperand(rhsRawOperand))
7952 return ::mlir::failure();
7954 auto loc = parser.getCurrentLocation();(void)loc;
7955 if (parser.parseOptionalAttrDict(result.attributes))
7956 return ::mlir::failure();
7958 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
7960 return ::mlir::failure();
7964 result.addTypes(odsBuildableType0);
7965 if (parser.resolveOperands(lhsOperands, odsBuildableType1, lhsOperandsLoc, result.operands))
7966 return ::mlir::failure();
7967 if (parser.resolveOperands(rhsOperands, odsBuildableType1, rhsOperandsLoc, result.operands))
7968 return ::mlir::failure();
7969 return ::mlir::success();
7978 _odsPrinter << caseValueStr;
7985 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7986 elidedAttrs.push_back(
"pred");
7987 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7990void IntCmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8009 return attr.getValue();
8017 if (!tblgen_value)
return emitError(loc,
"'smt.int.constant' op ""requires attribute 'value'");
8019 if (tblgen_value && !((::llvm::isa<::mlir::IntegerAttr>(tblgen_value))))
8020 return emitError(loc,
"'smt.int.constant' op ""attribute 'value' failed to satisfy constraint: arbitrary integer attribute");
8021 return ::mlir::success();
8025 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
8027 emitError() <<
"expected DictionaryAttr to set properties";
8028 return ::mlir::failure();
8032 auto &propStorage = prop.
value;
8033 auto attr = dict.get(
"value");
8035 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
8036 if (convertedAttr) {
8037 propStorage = convertedAttr;
8039 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
8040 return ::mlir::failure();
8044 return ::mlir::success();
8048 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
8049 ::mlir::Builder odsBuilder{ctx};
8052 const auto &propStorage = prop.
value;
8054 attrs.push_back(odsBuilder.getNamedAttr(
"value",
8059 return odsBuilder.getDictionaryAttr(attrs);
8064 return llvm::hash_combine(
8065 llvm::hash_value(prop.
value.getAsOpaquePointer()));
8069 if (name ==
"value")
8071 return std::nullopt;
8075 if (name ==
"value") {
8076 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
8082 if (prop.
value) attrs.append(
"value", prop.
value);
8088 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT9(attr,
"value", emitError)))
8089 return ::mlir::failure();
8091 return ::mlir::success();
8095 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
8096 if (::mlir::failed(reader.readAttribute(prop.
value)))
8097 return ::mlir::failure();
8098 return ::mlir::success();
8102 auto &prop = getProperties(); (void)prop;
8103 writer.writeAttribute(prop.
value);
8108 return attr.getValue();
8111void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value) {
8112 odsState.getOrAddProperties<
Properties>().value = value;
8113 odsState.addTypes(result);
8116void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr value) {
8117 odsState.getOrAddProperties<
Properties>().value = value;
8119 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8121 odsState.location, odsState.operands,
8122 odsState.attributes.getDictionary(odsState.getContext()),
8123 odsState.getRawProperties(),
8124 odsState.regions, inferredReturnTypes)))
8125 odsState.addTypes(inferredReturnTypes);
8127 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8131void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr value) {
8132 odsState.getOrAddProperties<
Properties>().value = value;
8133 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8134 odsState.addTypes(resultTypes);
8137void IntConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8138 assert(operands.size() == 0u &&
"mismatched number of parameters");
8139 odsState.addOperands(operands);
8140 odsState.addAttributes(attributes);
8141 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8142 odsState.addTypes(resultTypes);
8144 if (!attributes.empty()) {
8145 ::mlir::OpaqueProperties properties =
8147 std::optional<::mlir::RegisteredOperationName> info =
8148 odsState.name.getRegisteredInfo();
8149 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
8150 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
8151 ::llvm::report_fatal_error(
"Property conversion failed.");
8155void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8156 assert(operands.size() == 0u &&
"mismatched number of parameters");
8157 odsState.addOperands(operands);
8158 odsState.addAttributes(attributes);
8160 if (!attributes.empty()) {
8161 ::mlir::OpaqueProperties properties =
8163 std::optional<::mlir::RegisteredOperationName> info =
8164 odsState.name.getRegisteredInfo();
8165 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
8166 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
8167 ::llvm::report_fatal_error(
"Property conversion failed.");
8169 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8171 odsState.location, operands,
8172 odsState.attributes.getDictionary(odsState.getContext()),
8173 odsState.getRawProperties(),
8174 odsState.regions, inferredReturnTypes))) {
8175 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8176 odsState.addTypes(inferredReturnTypes);
8178 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8183 auto tblgen_value = getProperties().value; (void)tblgen_value;
8184 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
8186 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT9(*
this, tblgen_value,
"value")))
8187 return ::mlir::failure();
8189 unsigned index = 0; (void)index;
8192 for (
auto v : valueGroup0) {
8193 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8194 return ::mlir::failure();
8197 return ::mlir::success();
8204::llvm::LogicalResult
IntConstantOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8205 inferredReturnTypes.resize(1);
8206 ::mlir::Builder odsBuilder(context);
8208 inferredReturnTypes[0] = odsInferredType0;
8209 return ::mlir::success();
8231 return ::mlir::success();
8234void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8235 odsState.addOperands(lhs);
8236 odsState.addOperands(rhs);
8237 odsState.addTypes(result);
8240void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8241 odsState.addOperands(lhs);
8242 odsState.addOperands(rhs);
8244 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8246 odsState.location, odsState.operands,
8247 odsState.attributes.getDictionary(odsState.getContext()),
8248 odsState.getRawProperties(),
8249 odsState.regions, inferredReturnTypes)))
8250 odsState.addTypes(inferredReturnTypes);
8252 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8256void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8257 odsState.addOperands(lhs);
8258 odsState.addOperands(rhs);
8259 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8260 odsState.addTypes(resultTypes);
8263void IntDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8264 assert(operands.size() == 2u &&
"mismatched number of parameters");
8265 odsState.addOperands(operands);
8266 odsState.addAttributes(attributes);
8267 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8268 odsState.addTypes(resultTypes);
8271void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8272 assert(operands.size() == 2u &&
"mismatched number of parameters");
8273 odsState.addOperands(operands);
8274 odsState.addAttributes(attributes);
8276 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8278 odsState.location, operands,
8279 odsState.attributes.getDictionary(odsState.getContext()),
8280 odsState.getRawProperties(),
8281 odsState.regions, inferredReturnTypes))) {
8282 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8283 odsState.addTypes(inferredReturnTypes);
8285 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8291 unsigned index = 0; (void)index;
8294 for (
auto v : valueGroup0) {
8295 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8296 return ::mlir::failure();
8300 for (
auto v : valueGroup1) {
8301 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8302 return ::mlir::failure();
8306 unsigned index = 0; (void)index;
8309 for (
auto v : valueGroup0) {
8310 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8311 return ::mlir::failure();
8314 return ::mlir::success();
8321::llvm::LogicalResult
IntDivOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8322 inferredReturnTypes.resize(1);
8323 ::mlir::Builder odsBuilder(context);
8325 inferredReturnTypes[0] = odsInferredType0;
8326 return ::mlir::success();
8329::mlir::ParseResult
IntDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8330 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8331 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8332 (void)lhsOperandsLoc;
8333 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8334 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8335 (void)rhsOperandsLoc;
8337 lhsOperandsLoc = parser.getCurrentLocation();
8338 if (parser.parseOperand(lhsRawOperand))
8339 return ::mlir::failure();
8340 if (parser.parseComma())
8341 return ::mlir::failure();
8343 rhsOperandsLoc = parser.getCurrentLocation();
8344 if (parser.parseOperand(rhsRawOperand))
8345 return ::mlir::failure();
8347 auto loc = parser.getCurrentLocation();(void)loc;
8348 if (parser.parseOptionalAttrDict(result.attributes))
8349 return ::mlir::failure();
8352 result.addTypes(odsBuildableType0);
8353 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8354 return ::mlir::failure();
8355 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8356 return ::mlir::failure();
8357 return ::mlir::success();
8366 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8367 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8370void IntDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8389 return ::mlir::success();
8392void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8393 odsState.addOperands(lhs);
8394 odsState.addOperands(rhs);
8395 odsState.addTypes(result);
8398void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8399 odsState.addOperands(lhs);
8400 odsState.addOperands(rhs);
8402 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8404 odsState.location, odsState.operands,
8405 odsState.attributes.getDictionary(odsState.getContext()),
8406 odsState.getRawProperties(),
8407 odsState.regions, inferredReturnTypes)))
8408 odsState.addTypes(inferredReturnTypes);
8410 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8414void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8415 odsState.addOperands(lhs);
8416 odsState.addOperands(rhs);
8417 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8418 odsState.addTypes(resultTypes);
8421void IntModOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8422 assert(operands.size() == 2u &&
"mismatched number of parameters");
8423 odsState.addOperands(operands);
8424 odsState.addAttributes(attributes);
8425 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8426 odsState.addTypes(resultTypes);
8429void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8430 assert(operands.size() == 2u &&
"mismatched number of parameters");
8431 odsState.addOperands(operands);
8432 odsState.addAttributes(attributes);
8434 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8436 odsState.location, operands,
8437 odsState.attributes.getDictionary(odsState.getContext()),
8438 odsState.getRawProperties(),
8439 odsState.regions, inferredReturnTypes))) {
8440 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8441 odsState.addTypes(inferredReturnTypes);
8443 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8449 unsigned index = 0; (void)index;
8452 for (
auto v : valueGroup0) {
8453 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8454 return ::mlir::failure();
8458 for (
auto v : valueGroup1) {
8459 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8460 return ::mlir::failure();
8464 unsigned index = 0; (void)index;
8467 for (
auto v : valueGroup0) {
8468 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8469 return ::mlir::failure();
8472 return ::mlir::success();
8479::llvm::LogicalResult
IntModOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8480 inferredReturnTypes.resize(1);
8481 ::mlir::Builder odsBuilder(context);
8483 inferredReturnTypes[0] = odsInferredType0;
8484 return ::mlir::success();
8487::mlir::ParseResult
IntModOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8488 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8489 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8490 (void)lhsOperandsLoc;
8491 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8492 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8493 (void)rhsOperandsLoc;
8495 lhsOperandsLoc = parser.getCurrentLocation();
8496 if (parser.parseOperand(lhsRawOperand))
8497 return ::mlir::failure();
8498 if (parser.parseComma())
8499 return ::mlir::failure();
8501 rhsOperandsLoc = parser.getCurrentLocation();
8502 if (parser.parseOperand(rhsRawOperand))
8503 return ::mlir::failure();
8505 auto loc = parser.getCurrentLocation();(void)loc;
8506 if (parser.parseOptionalAttrDict(result.attributes))
8507 return ::mlir::failure();
8510 result.addTypes(odsBuildableType0);
8511 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8512 return ::mlir::failure();
8513 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8514 return ::mlir::failure();
8515 return ::mlir::success();
8524 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8525 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8528void IntModOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8544 bool isVariadic[] = {
true};
8545 int prevVariadicCount = 0;
8546 for (
unsigned i = 0; i < index; ++i)
8547 if (isVariadic[i]) ++prevVariadicCount;
8551 int variadicSize = (odsOperandsSize - 0) / 1;
8556 int start = index + (variadicSize - 1) * prevVariadicCount;
8557 int size = isVariadic[index] ? variadicSize : 1;
8558 return {start, size};
8565 return ::mlir::success();
8569 bool isVariadic[] = {
true};
8570 int prevVariadicCount = 0;
8571 for (
unsigned i = 0; i < index; ++i)
8572 if (isVariadic[i]) ++prevVariadicCount;
8576 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
8581 int start = index + (variadicSize - 1) * prevVariadicCount;
8582 int size = isVariadic[index] ? variadicSize : 1;
8583 return {start, size};
8588 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
8589 return mutableRange;
8592void IntMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
8593 odsState.addOperands(inputs);
8594 odsState.addTypes(result);
8597void IntMulOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8598 odsState.addOperands(operands);
8599 odsState.addAttributes(attributes);
8600 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8601 odsState.addTypes(resultTypes);
8604void IntMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8605 odsState.addOperands(operands);
8606 odsState.addAttributes(attributes);
8608 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8610 odsState.location, operands,
8611 odsState.attributes.getDictionary(odsState.getContext()),
8612 odsState.getRawProperties(),
8613 odsState.regions, inferredReturnTypes))) {
8614 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8615 odsState.addTypes(inferredReturnTypes);
8617 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8623 unsigned index = 0; (void)index;
8626 for (
auto v : valueGroup0) {
8627 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT11(*
this, v.getType(),
"operand", index++)))
8628 return ::mlir::failure();
8632 unsigned index = 0; (void)index;
8635 for (
auto v : valueGroup0) {
8636 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8637 return ::mlir::failure();
8640 return ::mlir::success();
8647::llvm::LogicalResult
IntMulOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8648 inferredReturnTypes.resize(1);
8649 ::mlir::Builder odsBuilder(context);
8651 inferredReturnTypes[0] = odsInferredType0;
8652 return ::mlir::success();
8655::mlir::ParseResult
IntMulOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8656 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
8657 ::llvm::SMLoc inputsOperandsLoc;
8658 (void)inputsOperandsLoc;
8660 inputsOperandsLoc = parser.getCurrentLocation();
8661 if (parser.parseOperandList(inputsOperands))
8662 return ::mlir::failure();
8664 auto loc = parser.getCurrentLocation();(void)loc;
8665 if (parser.parseOptionalAttrDict(result.attributes))
8666 return ::mlir::failure();
8669 result.addTypes(odsBuildableType0);
8670 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
8671 return ::mlir::failure();
8672 return ::mlir::success();
8678 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8679 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8682void IntMulOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8701 return ::mlir::success();
8704void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
8705 odsState.addOperands(input);
8706 odsState.addTypes(result);
8709void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
8710 odsState.addOperands(input);
8712 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8714 odsState.location, odsState.operands,
8715 odsState.attributes.getDictionary(odsState.getContext()),
8716 odsState.getRawProperties(),
8717 odsState.regions, inferredReturnTypes)))
8718 odsState.addTypes(inferredReturnTypes);
8720 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8724void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
8725 odsState.addOperands(input);
8726 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8727 odsState.addTypes(resultTypes);
8730void IntNegOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8731 assert(operands.size() == 1u &&
"mismatched number of parameters");
8732 odsState.addOperands(operands);
8733 odsState.addAttributes(attributes);
8734 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8735 odsState.addTypes(resultTypes);
8738void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8739 assert(operands.size() == 1u &&
"mismatched number of parameters");
8740 odsState.addOperands(operands);
8741 odsState.addAttributes(attributes);
8743 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8745 odsState.location, operands,
8746 odsState.attributes.getDictionary(odsState.getContext()),
8747 odsState.getRawProperties(),
8748 odsState.regions, inferredReturnTypes))) {
8749 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8750 odsState.addTypes(inferredReturnTypes);
8752 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8758 unsigned index = 0; (void)index;
8761 for (
auto v : valueGroup0) {
8762 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8763 return ::mlir::failure();
8767 unsigned index = 0; (void)index;
8770 for (
auto v : valueGroup0) {
8771 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8772 return ::mlir::failure();
8775 return ::mlir::success();
8782::llvm::LogicalResult
IntNegOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8783 inferredReturnTypes.resize(1);
8784 ::mlir::Builder odsBuilder(context);
8786 inferredReturnTypes[0] = odsInferredType0;
8787 return ::mlir::success();
8790::mlir::ParseResult
IntNegOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8791 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
8792 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
8793 (void)inputOperandsLoc;
8795 inputOperandsLoc = parser.getCurrentLocation();
8796 if (parser.parseOperand(inputRawOperand))
8797 return ::mlir::failure();
8799 auto loc = parser.getCurrentLocation();(void)loc;
8800 if (parser.parseOptionalAttrDict(result.attributes))
8801 return ::mlir::failure();
8804 result.addTypes(odsBuildableType0);
8805 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
8806 return ::mlir::failure();
8807 return ::mlir::success();
8813 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8814 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8817void IntNegOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8836 return ::mlir::success();
8839void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8840 odsState.addOperands(lhs);
8841 odsState.addOperands(rhs);
8842 odsState.addTypes(result);
8845void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8846 odsState.addOperands(lhs);
8847 odsState.addOperands(rhs);
8849 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8851 odsState.location, odsState.operands,
8852 odsState.attributes.getDictionary(odsState.getContext()),
8853 odsState.getRawProperties(),
8854 odsState.regions, inferredReturnTypes)))
8855 odsState.addTypes(inferredReturnTypes);
8857 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8861void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8862 odsState.addOperands(lhs);
8863 odsState.addOperands(rhs);
8864 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8865 odsState.addTypes(resultTypes);
8868void IntSubOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8869 assert(operands.size() == 2u &&
"mismatched number of parameters");
8870 odsState.addOperands(operands);
8871 odsState.addAttributes(attributes);
8872 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8873 odsState.addTypes(resultTypes);
8876void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8877 assert(operands.size() == 2u &&
"mismatched number of parameters");
8878 odsState.addOperands(operands);
8879 odsState.addAttributes(attributes);
8881 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8883 odsState.location, operands,
8884 odsState.attributes.getDictionary(odsState.getContext()),
8885 odsState.getRawProperties(),
8886 odsState.regions, inferredReturnTypes))) {
8887 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8888 odsState.addTypes(inferredReturnTypes);
8890 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8896 unsigned index = 0; (void)index;
8899 for (
auto v : valueGroup0) {
8900 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8901 return ::mlir::failure();
8905 for (
auto v : valueGroup1) {
8906 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8907 return ::mlir::failure();
8911 unsigned index = 0; (void)index;
8914 for (
auto v : valueGroup0) {
8915 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8916 return ::mlir::failure();
8919 return ::mlir::success();
8926::llvm::LogicalResult
IntSubOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
8927 inferredReturnTypes.resize(1);
8928 ::mlir::Builder odsBuilder(context);
8930 inferredReturnTypes[0] = odsInferredType0;
8931 return ::mlir::success();
8934::mlir::ParseResult
IntSubOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8935 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8936 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8937 (void)lhsOperandsLoc;
8938 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8939 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8940 (void)rhsOperandsLoc;
8942 lhsOperandsLoc = parser.getCurrentLocation();
8943 if (parser.parseOperand(lhsRawOperand))
8944 return ::mlir::failure();
8945 if (parser.parseComma())
8946 return ::mlir::failure();
8948 rhsOperandsLoc = parser.getCurrentLocation();
8949 if (parser.parseOperand(rhsRawOperand))
8950 return ::mlir::failure();
8952 auto loc = parser.getCurrentLocation();(void)loc;
8953 if (parser.parseOptionalAttrDict(result.attributes))
8954 return ::mlir::failure();
8957 result.addTypes(odsBuildableType0);
8958 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8959 return ::mlir::failure();
8960 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8961 return ::mlir::failure();
8962 return ::mlir::success();
8971 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8972 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8975void IntSubOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8994 return ::mlir::success();
8997void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
8998 odsState.addOperands(cond);
8999 odsState.addOperands(thenValue);
9000 odsState.addOperands(elseValue);
9001 odsState.addTypes(result);
9004void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
9005 odsState.addOperands(cond);
9006 odsState.addOperands(thenValue);
9007 odsState.addOperands(elseValue);
9009 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9011 odsState.location, odsState.operands,
9012 odsState.attributes.getDictionary(odsState.getContext()),
9013 odsState.getRawProperties(),
9014 odsState.regions, inferredReturnTypes)))
9015 odsState.addTypes(inferredReturnTypes);
9017 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
9021void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
9022 odsState.addOperands(cond);
9023 odsState.addOperands(thenValue);
9024 odsState.addOperands(elseValue);
9025 assert(resultTypes.size() == 1u &&
"mismatched number of results");
9026 odsState.addTypes(resultTypes);
9029void IteOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9030 assert(operands.size() == 3u &&
"mismatched number of parameters");
9031 odsState.addOperands(operands);
9032 odsState.addAttributes(attributes);
9033 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9034 odsState.addTypes(resultTypes);
9037void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9038 assert(operands.size() == 3u &&
"mismatched number of parameters");
9039 odsState.addOperands(operands);
9040 odsState.addAttributes(attributes);
9042 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9044 odsState.location, operands,
9045 odsState.attributes.getDictionary(odsState.getContext()),
9046 odsState.getRawProperties(),
9047 odsState.regions, inferredReturnTypes))) {
9048 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9049 odsState.addTypes(inferredReturnTypes);
9051 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9057 unsigned index = 0; (void)index;
9060 for (
auto v : valueGroup0) {
9061 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
9062 return ::mlir::failure();
9066 for (
auto v : valueGroup1) {
9067 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
9068 return ::mlir::failure();
9072 for (
auto v : valueGroup2) {
9073 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
9074 return ::mlir::failure();
9078 unsigned index = 0; (void)index;
9081 for (
auto v : valueGroup0) {
9082 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
9083 return ::mlir::failure();
9087 return emitOpError(
"failed to verify that all of {thenValue, elseValue, result} have same type");
9088 return ::mlir::success();
9095::llvm::LogicalResult
IteOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
9096 inferredReturnTypes.resize(1);
9097 ::mlir::Builder odsBuilder(context);
9098 if (operands.size() <= 2)
9099 return ::mlir::failure();
9100 ::mlir::Type odsInferredType0 = operands[2].getType();
9101 inferredReturnTypes[0] = odsInferredType0;
9102 return ::mlir::success();
9105::mlir::ParseResult
IteOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9106 ::mlir::OpAsmParser::UnresolvedOperand condRawOperand{};
9107 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> condOperands(&condRawOperand, 1); ::llvm::SMLoc condOperandsLoc;
9108 (void)condOperandsLoc;
9109 ::mlir::OpAsmParser::UnresolvedOperand thenValueRawOperand{};
9110 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> thenValueOperands(&thenValueRawOperand, 1); ::llvm::SMLoc thenValueOperandsLoc;
9111 (void)thenValueOperandsLoc;
9112 ::mlir::OpAsmParser::UnresolvedOperand elseValueRawOperand{};
9113 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> elseValueOperands(&elseValueRawOperand, 1); ::llvm::SMLoc elseValueOperandsLoc;
9114 (void)elseValueOperandsLoc;
9115 ::mlir::Type resultRawType{};
9116 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
9118 condOperandsLoc = parser.getCurrentLocation();
9119 if (parser.parseOperand(condRawOperand))
9120 return ::mlir::failure();
9121 if (parser.parseComma())
9122 return ::mlir::failure();
9124 thenValueOperandsLoc = parser.getCurrentLocation();
9125 if (parser.parseOperand(thenValueRawOperand))
9126 return ::mlir::failure();
9127 if (parser.parseComma())
9128 return ::mlir::failure();
9130 elseValueOperandsLoc = parser.getCurrentLocation();
9131 if (parser.parseOperand(elseValueRawOperand))
9132 return ::mlir::failure();
9134 auto loc = parser.getCurrentLocation();(void)loc;
9135 if (parser.parseOptionalAttrDict(result.attributes))
9136 return ::mlir::failure();
9138 if (parser.parseColon())
9139 return ::mlir::failure();
9141 if (parser.parseType(resultRawType))
9142 return ::mlir::failure();
9144 result.addTypes(resultTypes);
9145 if (parser.resolveOperands(condOperands, odsBuildableType0, condOperandsLoc, result.operands))
9146 return ::mlir::failure();
9147 if (parser.resolveOperands(thenValueOperands, resultTypes[0], thenValueOperandsLoc, result.operands))
9148 return ::mlir::failure();
9149 if (parser.resolveOperands(elseValueOperands, resultTypes[0], elseValueOperandsLoc, result.operands))
9150 return ::mlir::failure();
9151 return ::mlir::success();
9163 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9164 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9165 _odsPrinter <<
' ' <<
":";
9170void IteOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9189 return ::mlir::success();
9192void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
9193 odsState.addOperands(input);
9194 odsState.addTypes(result);
9197void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
9198 odsState.addOperands(input);
9200 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9202 odsState.location, odsState.operands,
9203 odsState.attributes.getDictionary(odsState.getContext()),
9204 odsState.getRawProperties(),
9205 odsState.regions, inferredReturnTypes)))
9206 odsState.addTypes(inferredReturnTypes);
9208 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
9212void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
9213 odsState.addOperands(input);
9214 assert(resultTypes.size() == 1u &&
"mismatched number of results");
9215 odsState.addTypes(resultTypes);
9218void NotOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9219 assert(operands.size() == 1u &&
"mismatched number of parameters");
9220 odsState.addOperands(operands);
9221 odsState.addAttributes(attributes);
9222 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9223 odsState.addTypes(resultTypes);
9226void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9227 assert(operands.size() == 1u &&
"mismatched number of parameters");
9228 odsState.addOperands(operands);
9229 odsState.addAttributes(attributes);
9231 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9233 odsState.location, operands,
9234 odsState.attributes.getDictionary(odsState.getContext()),
9235 odsState.getRawProperties(),
9236 odsState.regions, inferredReturnTypes))) {
9237 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9238 odsState.addTypes(inferredReturnTypes);
9240 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9246 unsigned index = 0; (void)index;
9249 for (
auto v : valueGroup0) {
9250 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
9251 return ::mlir::failure();
9255 unsigned index = 0; (void)index;
9258 for (
auto v : valueGroup0) {
9259 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
9260 return ::mlir::failure();
9263 return ::mlir::success();
9270::llvm::LogicalResult
NotOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
9271 inferredReturnTypes.resize(1);
9272 ::mlir::Builder odsBuilder(context);
9274 inferredReturnTypes[0] = odsInferredType0;
9275 return ::mlir::success();
9278::mlir::ParseResult
NotOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9279 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
9280 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
9281 (void)inputOperandsLoc;
9283 inputOperandsLoc = parser.getCurrentLocation();
9284 if (parser.parseOperand(inputRawOperand))
9285 return ::mlir::failure();
9287 auto loc = parser.getCurrentLocation();(void)loc;
9288 if (parser.parseOptionalAttrDict(result.attributes))
9289 return ::mlir::failure();
9292 result.addTypes(odsBuildableType0);
9293 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
9294 return ::mlir::failure();
9295 return ::mlir::success();
9301 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9302 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9305void NotOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9321 bool isVariadic[] = {
true};
9322 int prevVariadicCount = 0;
9323 for (
unsigned i = 0; i < index; ++i)
9324 if (isVariadic[i]) ++prevVariadicCount;
9328 int variadicSize = (odsOperandsSize - 0) / 1;
9333 int start = index + (variadicSize - 1) * prevVariadicCount;
9334 int size = isVariadic[index] ? variadicSize : 1;
9335 return {start, size};
9342 return ::mlir::success();
9346 bool isVariadic[] = {
true};
9347 int prevVariadicCount = 0;
9348 for (
unsigned i = 0; i < index; ++i)
9349 if (isVariadic[i]) ++prevVariadicCount;
9353 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
9358 int start = index + (variadicSize - 1) * prevVariadicCount;
9359 int size = isVariadic[index] ? variadicSize : 1;
9360 return {start, size};
9365 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
9366 return mutableRange;
9369void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
9370 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
9374void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
9375 odsState.addOperands(inputs);
9376 odsState.addTypes(result);
9379void OrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9380 odsState.addOperands(operands);
9381 odsState.addAttributes(attributes);
9382 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9383 odsState.addTypes(resultTypes);
9386void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9387 odsState.addOperands(operands);
9388 odsState.addAttributes(attributes);
9390 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9392 odsState.location, operands,
9393 odsState.attributes.getDictionary(odsState.getContext()),
9394 odsState.getRawProperties(),
9395 odsState.regions, inferredReturnTypes))) {
9396 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9397 odsState.addTypes(inferredReturnTypes);
9399 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9405 unsigned index = 0; (void)index;
9408 for (
auto v : valueGroup0) {
9409 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
9410 return ::mlir::failure();
9414 unsigned index = 0; (void)index;
9417 for (
auto v : valueGroup0) {
9418 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
9419 return ::mlir::failure();
9422 return ::mlir::success();
9429::llvm::LogicalResult
OrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
9430 inferredReturnTypes.resize(1);
9431 ::mlir::Builder odsBuilder(context);
9433 inferredReturnTypes[0] = odsInferredType0;
9434 return ::mlir::success();
9437::mlir::ParseResult
OrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9438 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
9439 ::llvm::SMLoc inputsOperandsLoc;
9440 (void)inputsOperandsLoc;
9442 inputsOperandsLoc = parser.getCurrentLocation();
9443 if (parser.parseOperandList(inputsOperands))
9444 return ::mlir::failure();
9446 auto loc = parser.getCurrentLocation();(void)loc;
9447 if (parser.parseOptionalAttrDict(result.attributes))
9448 return ::mlir::failure();
9451 result.addTypes(odsBuildableType0);
9452 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
9453 return ::mlir::failure();
9454 return ::mlir::success();
9460 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9461 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9464void OrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9483 return attr.getValue().getZExtValue();
9491 if (!tblgen_count)
return emitError(loc,
"'smt.pop' op ""requires attribute 'count'");
9493 if (tblgen_count && !((((::llvm::isa<::mlir::IntegerAttr>(tblgen_count))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_count).getType().isSignlessInteger(32)))) && ((!::llvm::cast<::mlir::IntegerAttr>(tblgen_count).getValue().isNegative()))))
9494 return emitError(loc,
"'smt.pop' op ""attribute 'count' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative");
9495 return ::mlir::success();
9499 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
9501 emitError() <<
"expected DictionaryAttr to set properties";
9502 return ::mlir::failure();
9506 auto &propStorage = prop.
count;
9507 auto attr = dict.get(
"count");
9509 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
9510 if (convertedAttr) {
9511 propStorage = convertedAttr;
9513 emitError() <<
"Invalid attribute `count` in property conversion: " << attr;
9514 return ::mlir::failure();
9518 return ::mlir::success();
9522 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
9523 ::mlir::Builder odsBuilder{ctx};
9526 const auto &propStorage = prop.
count;
9528 attrs.push_back(odsBuilder.getNamedAttr(
"count",
9533 return odsBuilder.getDictionaryAttr(attrs);
9538 return llvm::hash_combine(
9539 llvm::hash_value(prop.
count.getAsOpaquePointer()));
9543 if (name ==
"count")
9545 return std::nullopt;
9549 if (name ==
"count") {
9550 prop.
count = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
count)>>(value);
9556 if (prop.
count) attrs.append(
"count", prop.
count);
9559::llvm::LogicalResult
PopOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
9562 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(attr,
"count", emitError)))
9563 return ::mlir::failure();
9565 return ::mlir::success();
9569 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
9570 if (::mlir::failed(reader.readAttribute(prop.
count)))
9571 return ::mlir::failure();
9572 return ::mlir::success();
9576 auto &prop = getProperties(); (void)prop;
9577 writer.writeAttribute(prop.
count);
9582 return attr.getValue().getZExtValue();
9586 getProperties().count = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
9589void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count) {
9590 odsState.getOrAddProperties<
Properties>().count = count;
9593void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count) {
9594 odsState.getOrAddProperties<
Properties>().count = count;
9595 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9596 odsState.addTypes(resultTypes);
9599void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count) {
9600 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9603void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count) {
9604 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9605 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9606 odsState.addTypes(resultTypes);
9609void PopOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9610 assert(operands.size() == 0u &&
"mismatched number of parameters");
9611 odsState.addOperands(operands);
9612 odsState.addAttributes(attributes);
9613 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9614 odsState.addTypes(resultTypes);
9616 if (!attributes.empty()) {
9617 ::mlir::OpaqueProperties properties =
9619 std::optional<::mlir::RegisteredOperationName> info =
9620 odsState.name.getRegisteredInfo();
9621 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
9622 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
9623 ::llvm::report_fatal_error(
"Property conversion failed.");
9628 auto tblgen_count = getProperties().count; (void)tblgen_count;
9629 if (!tblgen_count)
return emitOpError(
"requires attribute 'count'");
9631 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(*
this, tblgen_count,
"count")))
9632 return ::mlir::failure();
9633 return ::mlir::success();
9640::mlir::ParseResult
PopOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9641 ::mlir::IntegerAttr countAttr;
9643 if (parser.parseCustomAttributeWithFallback(countAttr, parser.getBuilder().getIntegerType(32))) {
9644 return ::mlir::failure();
9646 if (countAttr) result.getOrAddProperties<
PopOp::Properties>().count = countAttr;
9648 auto loc = parser.getCurrentLocation();(void)loc;
9649 if (parser.parseOptionalAttrDict(result.attributes))
9650 return ::mlir::failure();
9652 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
9654 return ::mlir::failure();
9656 return ::mlir::success();
9662 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9663 elidedAttrs.push_back(
"count");
9664 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9683 return attr.getValue().getZExtValue();
9691 if (!tblgen_count)
return emitError(loc,
"'smt.push' op ""requires attribute 'count'");
9693 if (tblgen_count && !((((::llvm::isa<::mlir::IntegerAttr>(tblgen_count))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_count).getType().isSignlessInteger(32)))) && ((!::llvm::cast<::mlir::IntegerAttr>(tblgen_count).getValue().isNegative()))))
9694 return emitError(loc,
"'smt.push' op ""attribute 'count' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative");
9695 return ::mlir::success();
9699 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
9701 emitError() <<
"expected DictionaryAttr to set properties";
9702 return ::mlir::failure();
9706 auto &propStorage = prop.
count;
9707 auto attr = dict.get(
"count");
9709 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
9710 if (convertedAttr) {
9711 propStorage = convertedAttr;
9713 emitError() <<
"Invalid attribute `count` in property conversion: " << attr;
9714 return ::mlir::failure();
9718 return ::mlir::success();
9722 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
9723 ::mlir::Builder odsBuilder{ctx};
9726 const auto &propStorage = prop.
count;
9728 attrs.push_back(odsBuilder.getNamedAttr(
"count",
9733 return odsBuilder.getDictionaryAttr(attrs);
9738 return llvm::hash_combine(
9739 llvm::hash_value(prop.
count.getAsOpaquePointer()));
9743 if (name ==
"count")
9745 return std::nullopt;
9749 if (name ==
"count") {
9750 prop.
count = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
count)>>(value);
9756 if (prop.
count) attrs.append(
"count", prop.
count);
9759::llvm::LogicalResult
PushOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
9762 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(attr,
"count", emitError)))
9763 return ::mlir::failure();
9765 return ::mlir::success();
9769 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
9770 if (::mlir::failed(reader.readAttribute(prop.
count)))
9771 return ::mlir::failure();
9772 return ::mlir::success();
9776 auto &prop = getProperties(); (void)prop;
9777 writer.writeAttribute(prop.
count);
9782 return attr.getValue().getZExtValue();
9786 getProperties().count = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
9789void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count) {
9790 odsState.getOrAddProperties<
Properties>().count = count;
9793void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count) {
9794 odsState.getOrAddProperties<
Properties>().count = count;
9795 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9796 odsState.addTypes(resultTypes);
9799void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count) {
9800 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9803void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count) {
9804 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9805 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9806 odsState.addTypes(resultTypes);
9809void PushOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9810 assert(operands.size() == 0u &&
"mismatched number of parameters");
9811 odsState.addOperands(operands);
9812 odsState.addAttributes(attributes);
9813 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9814 odsState.addTypes(resultTypes);
9816 if (!attributes.empty()) {
9817 ::mlir::OpaqueProperties properties =
9819 std::optional<::mlir::RegisteredOperationName> info =
9820 odsState.name.getRegisteredInfo();
9821 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
9822 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
9823 ::llvm::report_fatal_error(
"Property conversion failed.");
9828 auto tblgen_count = getProperties().count; (void)tblgen_count;
9829 if (!tblgen_count)
return emitOpError(
"requires attribute 'count'");
9831 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(*
this, tblgen_count,
"count")))
9832 return ::mlir::failure();
9833 return ::mlir::success();
9840::mlir::ParseResult
PushOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9841 ::mlir::IntegerAttr countAttr;
9843 if (parser.parseCustomAttributeWithFallback(countAttr, parser.getBuilder().getIntegerType(32))) {
9844 return ::mlir::failure();
9848 auto loc = parser.getCurrentLocation();(void)loc;
9849 if (parser.parseOptionalAttrDict(result.attributes))
9850 return ::mlir::failure();
9852 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
9854 return ::mlir::failure();
9856 return ::mlir::success();
9862 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9863 elidedAttrs.push_back(
"count");
9864 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9883 return ::mlir::success();
9886void RepeatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
9887 odsState.addOperands(input);
9888 odsState.addTypes(result);
9891void RepeatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
9892 odsState.addOperands(input);
9893 assert(resultTypes.size() == 1u &&
"mismatched number of results");
9894 odsState.addTypes(resultTypes);
9897void RepeatOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9898 assert(operands.size() == 1u &&
"mismatched number of parameters");
9899 odsState.addOperands(operands);
9900 odsState.addAttributes(attributes);
9901 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9902 odsState.addTypes(resultTypes);
9907 unsigned index = 0; (void)index;
9910 for (
auto v : valueGroup0) {
9911 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
9912 return ::mlir::failure();
9916 unsigned index = 0; (void)index;
9919 for (
auto v : valueGroup0) {
9920 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
9921 return ::mlir::failure();
9924 return ::mlir::success();
9929 return ::mlir::success();
9930 return ::mlir::failure();
9933void RepeatOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9952 return ::mlir::success();
9955void ResetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState) {
9958void ResetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
9959 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9960 odsState.addTypes(resultTypes);
9963void ResetOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9964 assert(operands.size() == 0u &&
"mismatched number of parameters");
9965 odsState.addOperands(operands);
9966 odsState.addAttributes(attributes);
9967 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9968 odsState.addTypes(resultTypes);
9972 return ::mlir::success();
9979::mlir::ParseResult
ResetOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9981 auto loc = parser.getCurrentLocation();(void)loc;
9982 if (parser.parseOptionalAttrDict(result.attributes))
9983 return ::mlir::failure();
9985 return ::mlir::success();
9989 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9990 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10009 return ::llvm::cast<::llzk::smt::KeywordAttr>(attr);
10022 if (!tblgen_key)
return emitError(loc,
"'smt.set_info' op ""requires attribute 'key'");
10024 if (!tblgen_value)
return emitError(loc,
"'smt.set_info' op ""requires attribute 'value'");
10026 if (tblgen_key && !((::llvm::isa<::llzk::smt::KeywordAttr>(tblgen_key))))
10027 return emitError(loc,
"'smt.set_info' op ""attribute 'key' failed to satisfy constraint: an SMT-LIB keyword");
10029 if (tblgen_value && !((
true)))
10030 return emitError(loc,
"'smt.set_info' op ""attribute 'value' failed to satisfy constraint: any attribute");
10031 return ::mlir::success();
10035 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
10037 emitError() <<
"expected DictionaryAttr to set properties";
10038 return ::mlir::failure();
10042 auto &propStorage = prop.
key;
10043 auto attr = dict.get(
"key");
10045 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
10046 if (convertedAttr) {
10047 propStorage = convertedAttr;
10049 emitError() <<
"Invalid attribute `key` in property conversion: " << attr;
10050 return ::mlir::failure();
10056 auto &propStorage = prop.
value;
10057 auto attr = dict.get(
"value");
10059 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
10060 if (convertedAttr) {
10061 propStorage = convertedAttr;
10063 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
10064 return ::mlir::failure();
10068 return ::mlir::success();
10072 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
10073 ::mlir::Builder odsBuilder{ctx};
10076 const auto &propStorage = prop.
key;
10078 attrs.push_back(odsBuilder.getNamedAttr(
"key",
10083 const auto &propStorage = prop.
value;
10085 attrs.push_back(odsBuilder.getNamedAttr(
"value",
10089 if (!attrs.empty())
10090 return odsBuilder.getDictionaryAttr(attrs);
10095 return llvm::hash_combine(
10096 llvm::hash_value(prop.
key.getAsOpaquePointer()),
10097 llvm::hash_value(prop.
value.getAsOpaquePointer()));
10104 if (name ==
"value")
10106 return std::nullopt;
10110 if (name ==
"key") {
10111 prop.
key = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
key)>>(value);
10115 if (name ==
"value") {
10116 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
10122 if (prop.
key) attrs.append(
"key", prop.
key);
10124 if (prop.
value) attrs.append(
"value", prop.
value);
10127::llvm::LogicalResult
SetInfoOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
10130 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT11(attr,
"key", emitError)))
10131 return ::mlir::failure();
10136 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT12(attr,
"value", emitError)))
10137 return ::mlir::failure();
10139 return ::mlir::success();
10143 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
10144 if (::mlir::failed(reader.readAttribute(prop.
key)))
10145 return ::mlir::failure();
10147 if (::mlir::failed(reader.readAttribute(prop.
value)))
10148 return ::mlir::failure();
10149 return ::mlir::success();
10153 auto &prop = getProperties(); (void)prop;
10154 writer.writeAttribute(prop.
key);
10155 writer.writeAttribute(prop.
value);
10160 return ::llvm::cast<::llzk::smt::KeywordAttr>(attr);
10168void SetInfoOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value) {
10169 odsState.getOrAddProperties<
Properties>().key = key;
10170 odsState.getOrAddProperties<
Properties>().value = value;
10173void SetInfoOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value) {
10174 odsState.getOrAddProperties<
Properties>().key = key;
10175 odsState.getOrAddProperties<
Properties>().value = value;
10176 assert(resultTypes.size() == 0u &&
"mismatched number of results");
10177 odsState.addTypes(resultTypes);
10180void SetInfoOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10181 assert(operands.size() == 0u &&
"mismatched number of parameters");
10182 odsState.addOperands(operands);
10183 odsState.addAttributes(attributes);
10184 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
10185 odsState.addTypes(resultTypes);
10187 if (!attributes.empty()) {
10188 ::mlir::OpaqueProperties properties =
10190 std::optional<::mlir::RegisteredOperationName> info =
10191 odsState.name.getRegisteredInfo();
10192 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
10193 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
10194 ::llvm::report_fatal_error(
"Property conversion failed.");
10199 auto tblgen_key = getProperties().key; (void)tblgen_key;
10200 if (!tblgen_key)
return emitOpError(
"requires attribute 'key'");
10201 auto tblgen_value = getProperties().value; (void)tblgen_value;
10202 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
10204 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT11(*
this, tblgen_key,
"key")))
10205 return ::mlir::failure();
10207 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT12(*
this, tblgen_value,
"value")))
10208 return ::mlir::failure();
10209 return ::mlir::success();
10214 return ::mlir::success();
10215 return ::mlir::failure();
10234 return attr.getValue();
10242 if (!tblgen_logic)
return emitError(loc,
"'smt.set_logic' op ""requires attribute 'logic'");
10244 if (tblgen_logic && !((::llvm::isa<::mlir::StringAttr>(tblgen_logic))))
10245 return emitError(loc,
"'smt.set_logic' op ""attribute 'logic' failed to satisfy constraint: string attribute");
10246 return ::mlir::success();
10250 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
10252 emitError() <<
"expected DictionaryAttr to set properties";
10253 return ::mlir::failure();
10257 auto &propStorage = prop.
logic;
10258 auto attr = dict.get(
"logic");
10260 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
10261 if (convertedAttr) {
10262 propStorage = convertedAttr;
10264 emitError() <<
"Invalid attribute `logic` in property conversion: " << attr;
10265 return ::mlir::failure();
10269 return ::mlir::success();
10273 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
10274 ::mlir::Builder odsBuilder{ctx};
10277 const auto &propStorage = prop.
logic;
10279 attrs.push_back(odsBuilder.getNamedAttr(
"logic",
10283 if (!attrs.empty())
10284 return odsBuilder.getDictionaryAttr(attrs);
10289 return llvm::hash_combine(
10290 llvm::hash_value(prop.
logic.getAsOpaquePointer()));
10294 if (name ==
"logic")
10296 return std::nullopt;
10300 if (name ==
"logic") {
10301 prop.
logic = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
logic)>>(value);
10307 if (prop.
logic) attrs.append(
"logic", prop.
logic);
10310::llvm::LogicalResult
SetLogicOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
10313 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(attr,
"logic", emitError)))
10314 return ::mlir::failure();
10316 return ::mlir::success();
10320 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
10321 if (::mlir::failed(reader.readAttribute(prop.
logic)))
10322 return ::mlir::failure();
10323 return ::mlir::success();
10327 auto &prop = getProperties(); (void)prop;
10328 writer.writeAttribute(prop.
logic);
10333 return attr.getValue();
10337 getProperties().logic = ::mlir::Builder((*this)->getContext()).getStringAttr(attrValue);
10340void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic) {
10341 odsState.getOrAddProperties<
Properties>().logic = logic;
10344void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr logic) {
10345 odsState.getOrAddProperties<
Properties>().logic = logic;
10346 assert(resultTypes.size() == 0u &&
"mismatched number of results");
10347 odsState.addTypes(resultTypes);
10350void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef logic) {
10351 odsState.getOrAddProperties<
Properties>().logic = odsBuilder.getStringAttr(logic);
10354void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef logic) {
10355 odsState.getOrAddProperties<
Properties>().logic = odsBuilder.getStringAttr(logic);
10356 assert(resultTypes.size() == 0u &&
"mismatched number of results");
10357 odsState.addTypes(resultTypes);
10360void SetLogicOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10361 assert(operands.size() == 0u &&
"mismatched number of parameters");
10362 odsState.addOperands(operands);
10363 odsState.addAttributes(attributes);
10364 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
10365 odsState.addTypes(resultTypes);
10367 if (!attributes.empty()) {
10368 ::mlir::OpaqueProperties properties =
10370 std::optional<::mlir::RegisteredOperationName> info =
10371 odsState.name.getRegisteredInfo();
10372 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
10373 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
10374 ::llvm::report_fatal_error(
"Property conversion failed.");
10379 auto tblgen_logic = getProperties().logic; (void)tblgen_logic;
10380 if (!tblgen_logic)
return emitOpError(
"requires attribute 'logic'");
10382 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(*
this, tblgen_logic,
"logic")))
10383 return ::mlir::failure();
10384 return ::mlir::success();
10392 ::mlir::StringAttr logicAttr;
10394 if (parser.parseCustomAttributeWithFallback(logicAttr, parser.getBuilder().getType<::mlir::NoneType>())) {
10395 return ::mlir::failure();
10399 auto loc = parser.getCurrentLocation();(void)loc;
10400 if (parser.parseOptionalAttrDict(result.attributes))
10401 return ::mlir::failure();
10403 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
10405 return ::mlir::failure();
10407 return ::mlir::success();
10411 _odsPrinter <<
' ';
10412 _odsPrinter.printAttributeWithoutType(
getLogicAttr());
10413 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10414 elidedAttrs.push_back(
"logic");
10415 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10431 bool isVariadic[] = {
true};
10432 int prevVariadicCount = 0;
10433 for (
unsigned i = 0; i < index; ++i)
10434 if (isVariadic[i]) ++prevVariadicCount;
10438 int variadicSize = (odsOperandsSize - 0) / 1;
10443 int start = index + (variadicSize - 1) * prevVariadicCount;
10444 int size = isVariadic[index] ? variadicSize : 1;
10445 return {start, size};
10452 return ::mlir::success();
10456 bool isVariadic[] = {
true};
10457 int prevVariadicCount = 0;
10458 for (
unsigned i = 0; i < index; ++i)
10459 if (isVariadic[i]) ++prevVariadicCount;
10463 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10468 int start = index + (variadicSize - 1) * prevVariadicCount;
10469 int size = isVariadic[index] ? variadicSize : 1;
10470 return {start, size};
10475 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10476 return mutableRange;
10480 bool isVariadic[] = {
true};
10481 int prevVariadicCount = 0;
10482 for (
unsigned i = 0; i < index; ++i)
10483 if (isVariadic[i]) ++prevVariadicCount;
10487 int variadicSize = (getOperation()->getNumResults() - 0) / 1;
10492 int start = index + (variadicSize - 1) * prevVariadicCount;
10493 int size = isVariadic[index] ? variadicSize : 1;
10494 return {start, size};
10497void SolverOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10498 odsState.addOperands(operands);
10499 odsState.addAttributes(attributes);
10500 for (
unsigned i = 0; i != 1; ++i)
10501 (
void)odsState.addRegion();
10502 odsState.addTypes(resultTypes);
10507 unsigned index = 0; (void)index;
10510 for (
auto v : valueGroup0) {
10511 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT12(*
this, v.getType(),
"operand", index++)))
10512 return ::mlir::failure();
10516 unsigned index = 0; (void)index;
10519 for (
auto v : valueGroup0) {
10520 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT12(*
this, v.getType(),
"result", index++)))
10521 return ::mlir::failure();
10525 unsigned index = 0; (void)index;
10527 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
10528 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"bodyRegion", index++)))
10529 return ::mlir::failure();
10531 return ::mlir::success();
10538::mlir::ParseResult
SolverOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10539 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
10540 ::llvm::SMLoc inputsOperandsLoc;
10541 (void)inputsOperandsLoc;
10542 ::llvm::ArrayRef<::mlir::Type> inputsTypes;
10543 ::llvm::ArrayRef<::mlir::Type> resultsTypes;
10544 std::unique_ptr<::mlir::Region> bodyRegionRegion = std::make_unique<::mlir::Region>();
10545 if (parser.parseLParen())
10546 return ::mlir::failure();
10548 inputsOperandsLoc = parser.getCurrentLocation();
10549 if (parser.parseOperandList(inputsOperands))
10550 return ::mlir::failure();
10551 if (parser.parseRParen())
10552 return ::mlir::failure();
10554 auto loc = parser.getCurrentLocation();(void)loc;
10555 if (parser.parseOptionalAttrDict(result.attributes))
10556 return ::mlir::failure();
10558 if (parser.parseColon())
10559 return ::mlir::failure();
10561 ::mlir::FunctionType inputs__results_functionType;
10562 if (parser.parseType(inputs__results_functionType))
10563 return ::mlir::failure();
10564 inputsTypes = inputs__results_functionType.getInputs();
10565 resultsTypes = inputs__results_functionType.getResults();
10567 if (parser.parseRegion(*bodyRegionRegion))
10568 return ::mlir::failure();
10570 ensureTerminator(*bodyRegionRegion, parser.getBuilder(), result.location);
10571 result.addRegion(std::move(bodyRegionRegion));
10572 result.addTypes(resultsTypes);
10573 if (parser.resolveOperands(inputsOperands, inputsTypes, inputsOperandsLoc, result.operands))
10574 return ::mlir::failure();
10575 return ::mlir::success();
10579 _odsPrinter <<
"(";
10581 _odsPrinter <<
")";
10582 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10583 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10584 _odsPrinter <<
' ' <<
":";
10585 _odsPrinter <<
' ';
10587 _odsPrinter <<
' ';
10590 bool printTerminator =
true;
10592 printTerminator = !term->getAttrDictionary().empty() ||
10593 term->getNumOperands() != 0 ||
10594 term->getNumResults() != 0;
10614 bool isVariadic[] = {
true};
10615 int prevVariadicCount = 0;
10616 for (
unsigned i = 0; i < index; ++i)
10617 if (isVariadic[i]) ++prevVariadicCount;
10621 int variadicSize = (odsOperandsSize - 0) / 1;
10626 int start = index + (variadicSize - 1) * prevVariadicCount;
10627 int size = isVariadic[index] ? variadicSize : 1;
10628 return {start, size};
10635 return ::mlir::success();
10639 bool isVariadic[] = {
true};
10640 int prevVariadicCount = 0;
10641 for (
unsigned i = 0; i < index; ++i)
10642 if (isVariadic[i]) ++prevVariadicCount;
10646 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10651 int start = index + (variadicSize - 1) * prevVariadicCount;
10652 int size = isVariadic[index] ? variadicSize : 1;
10653 return {start, size};
10658 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10659 return mutableRange;
10662void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
10663 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
10667void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
10668 odsState.addOperands(inputs);
10669 odsState.addTypes(result);
10672void XOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10673 odsState.addOperands(operands);
10674 odsState.addAttributes(attributes);
10675 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
10676 odsState.addTypes(resultTypes);
10679void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10680 odsState.addOperands(operands);
10681 odsState.addAttributes(attributes);
10683 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
10685 odsState.location, operands,
10686 odsState.attributes.getDictionary(odsState.getContext()),
10687 odsState.getRawProperties(),
10688 odsState.regions, inferredReturnTypes))) {
10689 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
10690 odsState.addTypes(inferredReturnTypes);
10692 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
10698 unsigned index = 0; (void)index;
10701 for (
auto v : valueGroup0) {
10702 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
10703 return ::mlir::failure();
10707 unsigned index = 0; (void)index;
10710 for (
auto v : valueGroup0) {
10711 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
10712 return ::mlir::failure();
10715 return ::mlir::success();
10722::llvm::LogicalResult
XOrOp::inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes) {
10723 inferredReturnTypes.resize(1);
10724 ::mlir::Builder odsBuilder(context);
10726 inferredReturnTypes[0] = odsInferredType0;
10727 return ::mlir::success();
10730::mlir::ParseResult
XOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10731 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
10732 ::llvm::SMLoc inputsOperandsLoc;
10733 (void)inputsOperandsLoc;
10735 inputsOperandsLoc = parser.getCurrentLocation();
10736 if (parser.parseOperandList(inputsOperands))
10737 return ::mlir::failure();
10739 auto loc = parser.getCurrentLocation();(void)loc;
10740 if (parser.parseOptionalAttrDict(result.attributes))
10741 return ::mlir::failure();
10744 result.addTypes(odsBuildableType0);
10745 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
10746 return ::mlir::failure();
10747 return ::mlir::success();
10751 _odsPrinter <<
' ';
10753 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10754 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10757void XOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
10773 bool isVariadic[] = {
true};
10774 int prevVariadicCount = 0;
10775 for (
unsigned i = 0; i < index; ++i)
10776 if (isVariadic[i]) ++prevVariadicCount;
10780 int variadicSize = (odsOperandsSize - 0) / 1;
10785 int start = index + (variadicSize - 1) * prevVariadicCount;
10786 int size = isVariadic[index] ? variadicSize : 1;
10787 return {start, size};
10794 return ::mlir::success();
10798 bool isVariadic[] = {
true};
10799 int prevVariadicCount = 0;
10800 for (
unsigned i = 0; i < index; ++i)
10801 if (isVariadic[i]) ++prevVariadicCount;
10805 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10810 int start = index + (variadicSize - 1) * prevVariadicCount;
10811 int size = isVariadic[index] ? variadicSize : 1;
10812 return {start, size};
10817 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10818 return mutableRange;
10822 build(odsBuilder, odsState, {});
10826void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange values) {
10827 odsState.addOperands(values);
10830void YieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10831 odsState.addOperands(operands);
10832 odsState.addAttributes(attributes);
10833 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
10834 odsState.addTypes(resultTypes);
10839 unsigned index = 0; (void)index;
10842 for (
auto v : valueGroup0) {
10843 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT10(*
this, v.getType(),
"operand", index++)))
10844 return ::mlir::failure();
10847 return ::mlir::success();
10854::mlir::ParseResult
YieldOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10855 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> valuesOperands;
10856 ::llvm::SMLoc valuesOperandsLoc;
10857 (void)valuesOperandsLoc;
10858 ::llvm::SmallVector<::mlir::Type, 1> valuesTypes;
10860 valuesOperandsLoc = parser.getCurrentLocation();
10861 if (parser.parseOperandList(valuesOperands))
10862 return ::mlir::failure();
10863 if (!valuesOperands.empty()) {
10864 if (parser.parseColon())
10865 return ::mlir::failure();
10867 if (parser.parseTypeList(valuesTypes))
10868 return ::mlir::failure();
10871 auto loc = parser.getCurrentLocation();(void)loc;
10872 if (parser.parseOptionalAttrDict(result.attributes))
10873 return ::mlir::failure();
10875 if (parser.resolveOperands(valuesOperands, valuesTypes, valuesOperandsLoc, result.operands))
10876 return ::mlir::failure();
10877 return ::mlir::success();
10882 _odsPrinter <<
' ';
10884 _odsPrinter <<
' ' <<
":";
10885 _odsPrinter <<
' ';
10888 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10889 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10892void YieldOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
10896 ::mlir::RegionBranchPoint point) {
10897 return ::mlir::MutableOperandRange(*
this);
::llvm::LogicalResult verify(::mlir::Location loc)
AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getInputs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariants()
::mlir::MutableOperandRange getInputsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ApplyFuncOpAdaptor(ApplyFuncOp op)
::mlir::ValueRange getOperands()
::mlir::MutableOperandRange getArgsMutable()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args)
::mlir::TypedValue<::llzk::smt::SMTFuncType > getFunc()
::mlir::Operation::operand_range getArgs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayBroadcastOpAdaptor(ArrayBroadcastOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getValue()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::ArrayType > getResult()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
ArraySelectOpAdaptor(ArraySelectOp op)
ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getIndex()
::mlir::Operation::result_range getODSResults(unsigned index)
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 array, ::mlir::Value index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::ArrayType > getArray()
ArrayStoreOpAdaptor(ArrayStoreOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::TypedValue<::mlir::Type > getValue()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::ArrayType > getArray()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getIndex()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value array, ::mlir::Value index, ::mlir::Value value)
::llvm::LogicalResult verify(::mlir::Location loc)
AssertOpAdaptor(AssertOp op)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BoolType > getInput()
::llvm::LogicalResult verifyInvariants()
BV2IntOpAdaptor(BV2IntOp op)
BV2IntOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::UnitAttr getIsSignedAttr()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::StringAttr getIsSignedAttrName()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static llvm::hash_code computePropertiesHash(const Properties &prop)
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 input, ::mlir::UnitAttr is_signed)
FoldAdaptor::Properties Properties
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
void setIsSigned(bool attrValue)
::llvm::LogicalResult verify(::mlir::Location loc)
BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAShrOpAdaptor(BVAShrOp op)
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAddOpAdaptor(BVAddOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verify(::mlir::Location loc)
BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAndOpAdaptor(BVAndOp op)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
BVCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVCmpOpAdaptor(BVCmpOp op)
::mlir::ValueRange getOperands()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::StringAttr getPredAttrName()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInvariantsImpl()
::llzk::smt::BVCmpPredicate getPred()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llzk::smt::BVCmpPredicateAttr getPredAttr()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void setPred(::llzk::smt::BVCmpPredicate attrValue)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static BVCmpPredicateAttr get(::mlir::MLIRContext *context, BVCmpPredicate val)
BVConstantOpAdaptor(BVConstantOp op)
BVConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::smt::BitVectorAttr getValue()
::llzk::smt::BitVectorAttr getValueAttr()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getValueAttrName()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, const llvm::APInt &value)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static llvm::hash_code computePropertiesHash(const Properties &prop)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
BVLShrOpAdaptor(BVLShrOp op)
BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
BVMulOpAdaptor(BVMulOp op)
BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verify(::mlir::Location loc)
BVNegOpAdaptor(BVNegOp op)
BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVNotOpAdaptor(BVNotOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
::llvm::LogicalResult verifyInvariantsImpl()
BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verify(::mlir::Location loc)
BVSDivOpAdaptor(BVSDivOp op)
BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verify(::mlir::Location loc)
BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSModOpAdaptor(BVSModOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verify(::mlir::Location loc)
BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSRemOpAdaptor(BVSRemOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verify(::mlir::Location loc)
BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVShlOpAdaptor(BVShlOp op)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
BVUDivOpAdaptor(BVUDivOp op)
BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVURemOpAdaptor(BVURemOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
BVXOrOpAdaptor(BVXOrOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
BoolConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BoolConstantOpAdaptor(BoolConstantOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::StringAttr getValueAttrName()
FoldAdaptor::Properties Properties
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
void setValue(bool attrValue)
::llvm::LogicalResult verifyInvariants()
::mlir::BoolAttr getValueAttr()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verify(::mlir::Location loc)
CheckOpAdaptor(CheckOp op)
CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Region & getUnsatRegion()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Region & getUnknownRegion()
::mlir::Region & getSatRegion()
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getResults()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
ConcatOpAdaptor(ConcatOp op)
ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
DeclareFunOpAdaptor(DeclareFunOp op)
DeclareFunOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void setNamePrefix(::std::optional<::llvm::StringRef > attrValue)
::mlir::StringAttr getNamePrefixAttr()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::TypedValue<::mlir::Type > getResult()
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)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static llvm::hash_code computePropertiesHash(const Properties &prop)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::std::optional< ::llvm::StringRef > getNamePrefix()
::mlir::StringAttr getNamePrefixAttrName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Type type)
::mlir::Operation::result_range getODSResults(unsigned index)
DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DistinctOpAdaptor(DistinctOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verify()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::MutableOperandRange getInputsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::MutableOperandRange getInputsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
ExistsOpAdaptor(ExistsOp op)
::mlir::ValueRange getOperands()
::mlir::Region & getBody()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verify()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::StringAttr getNoPatternAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::MutableArrayRef<::mlir::Region > getPatterns()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
void setNoPattern(bool attrValue)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::UnitAttr getNoPatternAttr()
::mlir::Operation::result_range getODSResults(unsigned index)
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::ArrayAttr getBoundVarNamesAttr()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::mlir::StringAttr getWeightAttrName()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getBoundVarNamesAttrName()
::mlir::IntegerAttr getWeightAttr()
void setWeight(uint32_t attrValue)
ForallOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ForallOpAdaptor(ForallOp op)
::mlir::ValueRange getOperands()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::StringAttr getBoundVarNamesAttrName()
::llvm::LogicalResult verify()
::mlir::Region & getBody()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ArrayAttr getBoundVarNamesAttr()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::IntegerAttr getWeightAttr()
::mlir::StringAttr getWeightAttrName()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::StringAttr getNoPatternAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void setWeight(uint32_t attrValue)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::UnitAttr getNoPatternAttr()
::mlir::MutableArrayRef<::mlir::Region > getPatterns()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
void setNoPattern(bool attrValue)
::llvm::LogicalResult verifyInvariants()
FoldAdaptor::Properties Properties
ImpliesOpAdaptor(ImpliesOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BoolType > getRhs()
::mlir::TypedValue<::llzk::smt::BoolType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Int2BVOpAdaptor(Int2BVOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::TypedValue<::llzk::smt::IntType > getInput()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
IntAbsOpAdaptor(IntAbsOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::TypedValue<::llzk::smt::IntType > getInput()
::mlir::Operation::operand_range getODSOperands(unsigned index)
IntAddOpAdaptor(IntAddOp op)
IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getInputs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::MutableOperandRange getInputsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
IntCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
IntCmpOpAdaptor(IntCmpOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::StringAttr getPredAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void setPred(::llzk::smt::IntPredicate attrValue)
FoldAdaptor::Properties Properties
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llzk::smt::IntPredicate getPred()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
::llzk::smt::IntPredicateAttr getPredAttr()
IntConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
IntConstantOpAdaptor(IntConstantOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
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 setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::Operation::result_range getODSResults(unsigned index)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::IntegerAttr getValueAttr()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::StringAttr getValueAttrName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verify(::mlir::Location loc)
IntDivOpAdaptor(IntDivOp op)
IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
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 print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntModOpAdaptor(IntModOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntMulOpAdaptor(IntMulOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs)
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getInputs()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::MutableOperandRange getInputsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntNegOpAdaptor(IntNegOp op)
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::smt::IntType > getInput()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static IntPredicateAttr get(::mlir::MLIRContext *context, IntPredicate val)
IntSubOpAdaptor(IntSubOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verify(::mlir::Location loc)
IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getElseValue()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getThenValue()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue)
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BoolType > getCond()
NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BoolType > getInput()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::llvm::LogicalResult verify(::mlir::Location loc)
OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::MutableOperandRange getInputsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::operand_range getInputs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
PopOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::StringAttr getCountAttrName()
FoldAdaptor::Properties Properties
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
void setCount(uint32_t attrValue)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::IntegerAttr getCountAttr()
::llvm::LogicalResult verifyInvariants()
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
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)
PushOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
FoldAdaptor::Properties Properties
::mlir::StringAttr getCountAttrName()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::IntegerAttr getCountAttr()
static llvm::hash_code computePropertiesHash(const Properties &prop)
void setCount(uint32_t attrValue)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
RepeatOpAdaptor(RepeatOp op)
RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, unsigned count, mlir::Value input)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
ResetOpAdaptor(ResetOp op)
ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
SetInfoOpAdaptor(SetInfoOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
SetInfoOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Attribute getValue()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::smt::KeywordAttr getKeyAttr()
::llzk::smt::KeywordAttr getKey()
::llvm::LogicalResult verifyInvariantsImpl()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::StringAttr getValueAttrName()
::llvm::LogicalResult verifyInvariants()
FoldAdaptor::Properties Properties
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Attribute getValueAttr()
::llvm::LogicalResult verify()
::mlir::StringAttr getKeyAttrName()
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
SetLogicOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
SetLogicOpAdaptor(SetLogicOp op)
::mlir::ValueRange getOperands()
::llvm::StringRef getLogic()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getLogicAttr()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void setLogic(::llvm::StringRef attrValue)
::mlir::StringAttr getLogicAttrName()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verify(::mlir::Location loc)
SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SolverOpAdaptor(SolverOp op)
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getResults()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Region & getBodyRegion()
::mlir::Operation::operand_range getInputs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::MutableOperandRange getInputsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::MutableOperandRange getInputsMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::mlir::Operation::operand_range getInputs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
YieldOpAdaptor(YieldOp op)
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::ValueRange getOperands()
::mlir::MutableOperandRange getValuesMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::operand_range getValues()
::mlir::MutableOperandRange getMutableSuccessorOperands(::mlir::RegionBranchPoint point)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BV2IntOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::UnitAttr getIsSignedAttr()
::llzk::smt::BVCmpPredicateAttr getPredAttr()
::llzk::smt::BVCmpPredicate getPred()
BVCmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::llzk::smt::BitVectorAttr getValueAttr()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
BVConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::llzk::smt::BitVectorAttr getValue()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
BoolConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::mlir::BoolAttr getValueAttr()
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::mlir::RegionRange odsRegions
DeclareFunOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getNamePrefixAttr()
::std::optional< ::llvm::StringRef > getNamePrefix()
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::ArrayAttr getBoundVarNamesAttr()
const Properties & getProperties()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::mlir::IntegerAttr getWeightAttr()
::std::optional<::mlir::OperationName > odsOpName
::mlir::UnitAttr getNoPatternAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange getRegions()
::mlir::RegionRange odsRegions
ExistsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::IntegerAttr getWeightAttr()
ForallOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange getRegions()
::mlir::UnitAttr getNoPatternAttr()
::mlir::ArrayAttr getBoundVarNamesAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::llzk::smt::IntPredicate getPred()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::llzk::smt::IntPredicateAttr getPredAttr()
::mlir::RegionRange odsRegions
IntCmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
IntConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::IntegerAttr getValueAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::IntegerAttr getCountAttr()
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
PopOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::IntegerAttr getCountAttr()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
PushOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::Attribute getValue()
::std::optional<::mlir::OperationName > odsOpName
SetInfoOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::Attribute getValueAttr()
::llzk::smt::KeywordAttr getKeyAttr()
const Properties & getProperties()
::mlir::RegionRange odsRegions
::llzk::smt::KeywordAttr getKey()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
SetLogicOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::StringAttr getLogicAttr()
::mlir::RegionRange odsRegions
::llvm::StringRef getLogic()
const Properties & getProperties()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
bool isAnyNonFuncSMTValueType(mlir::Type type)
Returns whether the given type is an SMT value type (excluding functions).
::llvm::StringRef stringifyBVCmpPredicate(BVCmpPredicate val)
::llvm::StringRef stringifyIntPredicate(IntPredicate val)
::std::optional< IntPredicate > symbolizeIntPredicate(::llvm::StringRef str)
::std::optional< BVCmpPredicate > symbolizeBVCmpPredicate(::llvm::StringRef str)
bool isAnySMTValueType(mlir::Type type)
Returns whether the given type is an SMT value type.
boundVarNamesTy boundVarNames
boundVarNamesTy boundVarNames