81static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT1(
82 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
83 unsigned valueIndex) {
84 if (!((::llvm::isa<::llzk::smt::BoolType>(type)))) {
85 return op->emitOpError(valueKind) <<
" #" << valueIndex
86 <<
" must be variadic of , but got " << type;
88 return ::mlir::success();
91static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT2(
92 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
93 unsigned valueIndex) {
94 if (!((::llvm::isa<::llzk::smt::BoolType>(type)))) {
95 return op->emitOpError(valueKind) <<
" #" << valueIndex
96 <<
" must be , but got " << type;
98 return ::mlir::success();
101static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT3(
102 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
103 unsigned valueIndex) {
104 if (!((::llvm::isa<::llzk::smt::SMTFuncType>(type)))) {
105 return op->emitOpError(valueKind) <<
" #" << valueIndex
106 <<
" must be , but got " << type;
108 return ::mlir::success();
111static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT4(
112 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
113 unsigned valueIndex) {
115 return op->emitOpError(valueKind) <<
" #" << valueIndex
116 <<
" must be variadic of any non-function SMT value type, but got " << type;
118 return ::mlir::success();
121static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT5(
122 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
123 unsigned valueIndex) {
125 return op->emitOpError(valueKind) <<
" #" << valueIndex
126 <<
" must be any non-function SMT value type, but got " << type;
128 return ::mlir::success();
131static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT6(
132 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
133 unsigned valueIndex) {
135 return op->emitOpError(valueKind) <<
" #" << valueIndex
136 <<
" must be any SMT value type, but got " << type;
138 return ::mlir::success();
141static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT7(
142 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
143 unsigned valueIndex) {
144 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
145 return op->emitOpError(valueKind) <<
" #" << valueIndex
146 <<
" must be , but got " << type;
148 return ::mlir::success();
151static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT8(
152 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
153 unsigned valueIndex) {
154 if (!((::llvm::isa<::llzk::smt::BitVectorType>(type)))) {
155 return op->emitOpError(valueKind) <<
" #" << valueIndex
156 <<
" must be , but got " << type;
158 return ::mlir::success();
161static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT9(
162 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
163 unsigned valueIndex) {
164 if (!((::llvm::isa<::llzk::smt::IntType>(type)))) {
165 return op->emitOpError(valueKind) <<
" #" << valueIndex
166 <<
" must be , but got " << type;
168 return ::mlir::success();
171static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT10(
172 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
173 unsigned valueIndex) {
175 return op->emitOpError(valueKind) <<
" #" << valueIndex
176 <<
" must be variadic of any type, but got " << type;
178 return ::mlir::success();
181static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT11(
182 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
183 unsigned valueIndex) {
184 if (!((::llvm::isa<::llzk::smt::IntType>(type)))) {
185 return op->emitOpError(valueKind) <<
" #" << valueIndex
186 <<
" must be variadic of , but got " << type;
188 return ::mlir::success();
191static ::llvm::LogicalResult __mlir_ods_local_type_constraint_SMT12(
192 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
193 unsigned valueIndex) {
195 return op->emitOpError(valueKind) <<
" #" << valueIndex
196 <<
" must be variadic of any non-smt type, but got " << type;
198 return ::mlir::success();
201static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT1(
202 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
203 if (attr && !((::llvm::isa<::mlir::UnitAttr>(attr))))
204 return emitError() <<
"attribute '" << attrName
205 <<
"' failed to satisfy constraint: unit attribute";
206 return ::mlir::success();
208static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT1(
209 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
210 return __mlir_ods_local_attr_constraint_SMT1(attr, attrName, [op]() {
211 return op->emitOpError();
215static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT2(
216 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
217 if (attr && !((::llvm::isa<::llzk::smt::BVCmpPredicateAttr>(attr))))
218 return emitError() <<
"attribute '" << attrName
219 <<
"' failed to satisfy constraint: smt bit-vector comparison predicate";
220 return ::mlir::success();
222static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT2(
223 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
224 return __mlir_ods_local_attr_constraint_SMT2(attr, attrName, [op]() {
225 return op->emitOpError();
229static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT3(
230 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
231 if (attr && !((::llvm::isa<::llzk::smt::BitVectorAttr>(attr))))
232 return emitError() <<
"attribute '" << attrName
233 <<
"' failed to satisfy constraint: ";
234 return ::mlir::success();
236static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT3(
237 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
238 return __mlir_ods_local_attr_constraint_SMT3(attr, attrName, [op]() {
239 return op->emitOpError();
243static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT4(
244 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
245 if (attr && !((::llvm::isa<::mlir::BoolAttr>(attr))))
246 return emitError() <<
"attribute '" << attrName
247 <<
"' failed to satisfy constraint: bool attribute";
248 return ::mlir::success();
250static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT4(
251 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
252 return __mlir_ods_local_attr_constraint_SMT4(attr, attrName, [op]() {
253 return op->emitOpError();
257static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT5(
258 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
259 if (attr && !((::llvm::isa<::mlir::StringAttr>(attr))))
260 return emitError() <<
"attribute '" << attrName
261 <<
"' failed to satisfy constraint: string attribute";
262 return ::mlir::success();
264static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT5(
265 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
266 return __mlir_ods_local_attr_constraint_SMT5(attr, attrName, [op]() {
267 return op->emitOpError();
271static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT6(
272 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
273 if (attr && !(((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(32)))))
274 return emitError() <<
"attribute '" << attrName
275 <<
"' failed to satisfy constraint: 32-bit signless integer attribute";
276 return ::mlir::success();
278static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT6(
279 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
280 return __mlir_ods_local_attr_constraint_SMT6(attr, attrName, [op]() {
281 return op->emitOpError();
285static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT7(
286 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
287 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))); }))))
288 return emitError() <<
"attribute '" << attrName
289 <<
"' failed to satisfy constraint: string array attribute";
290 return ::mlir::success();
292static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT7(
293 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
294 return __mlir_ods_local_attr_constraint_SMT7(attr, attrName, [op]() {
295 return op->emitOpError();
299static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT8(
300 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
301 if (attr && !((::llvm::isa<::llzk::smt::IntPredicateAttr>(attr))))
302 return emitError() <<
"attribute '" << attrName
303 <<
"' failed to satisfy constraint: smt comparison predicate for integers";
304 return ::mlir::success();
306static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT8(
307 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
308 return __mlir_ods_local_attr_constraint_SMT8(attr, attrName, [op]() {
309 return op->emitOpError();
313static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT9(
314 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
315 if (attr && !((::llvm::isa<::mlir::IntegerAttr>(attr))))
316 return emitError() <<
"attribute '" << attrName
317 <<
"' failed to satisfy constraint: arbitrary integer attribute";
318 return ::mlir::success();
320static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT9(
321 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
322 return __mlir_ods_local_attr_constraint_SMT9(attr, attrName, [op]() {
323 return op->emitOpError();
327static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT10(
328 ::mlir::Attribute attr, ::llvm::StringRef attrName, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
329 if (attr && !((((::llvm::isa<::mlir::IntegerAttr>(attr))) && ((::llvm::cast<::mlir::IntegerAttr>(attr).getType().isSignlessInteger(32)))) && ((!::llvm::cast<::mlir::IntegerAttr>(attr).getValue().isNegative()))))
330 return emitError() <<
"attribute '" << attrName
331 <<
"' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative";
332 return ::mlir::success();
334static ::llvm::LogicalResult __mlir_ods_local_attr_constraint_SMT10(
335 ::mlir::Operation *op, ::mlir::Attribute attr, ::llvm::StringRef attrName) {
336 return __mlir_ods_local_attr_constraint_SMT10(attr, attrName, [op]() {
337 return op->emitOpError();
341static ::llvm::LogicalResult __mlir_ods_local_region_constraint_SMT1(
342 ::mlir::Operation *op, ::mlir::Region ®ion, ::llvm::StringRef regionName,
343 unsigned regionIndex) {
344 if (!((::llvm::hasNItems(region, 1)))) {
345 return op->emitOpError(
"region #") << regionIndex
346 << (regionName.empty() ?
" " :
" ('" + regionName +
"') ")
347 <<
"failed to verify constraint: region with 1 blocks";
349 return ::mlir::success();
362 bool isVariadic[] = {
true};
363 int prevVariadicCount = 0;
364 for (
unsigned i = 0; i < index; ++i)
365 if (isVariadic[i]) ++prevVariadicCount;
369 int variadicSize = (odsOperandsSize - 0) / 1;
374 int start = index + (variadicSize - 1) * prevVariadicCount;
375 int size = isVariadic[index] ? variadicSize : 1;
376 return {start, size};
383 return ::mlir::success();
387 bool isVariadic[] = {
true};
388 int prevVariadicCount = 0;
389 for (
unsigned i = 0; i < index; ++i)
390 if (isVariadic[i]) ++prevVariadicCount;
394 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
399 int start = index + (variadicSize - 1) * prevVariadicCount;
400 int size = isVariadic[index] ? variadicSize : 1;
401 return {start, size};
406 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
410void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
411 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
415void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
416 odsState.addOperands(inputs);
417 odsState.addTypes(result);
420void AndOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
421 odsState.addOperands(operands);
422 odsState.addAttributes(attributes);
423 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
424 odsState.addTypes(resultTypes);
427void AndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
428 odsState.addOperands(operands);
429 odsState.addAttributes(attributes);
431 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
433 odsState.location, operands,
434 odsState.attributes.getDictionary(odsState.getContext()),
435 odsState.getRawProperties(),
436 odsState.regions, inferredReturnTypes))) {
437 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
438 odsState.addTypes(inferredReturnTypes);
440 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
446 unsigned index = 0; (void)index;
449 for (
auto v : valueGroup0) {
450 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
451 return ::mlir::failure();
455 unsigned index = 0; (void)index;
458 for (
auto v : valueGroup0) {
459 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
460 return ::mlir::failure();
463 return ::mlir::success();
470::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) {
471 inferredReturnTypes.resize(1);
472 ::mlir::Builder odsBuilder(context);
474 inferredReturnTypes[0] = odsInferredType0;
475 return ::mlir::success();
478::mlir::ParseResult
AndOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
479 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
480 ::llvm::SMLoc inputsOperandsLoc;
481 (void)inputsOperandsLoc;
483 inputsOperandsLoc = parser.getCurrentLocation();
484 if (parser.parseOperandList(inputsOperands))
485 return ::mlir::failure();
487 auto loc = parser.getCurrentLocation();(void)loc;
488 if (parser.parseOptionalAttrDict(result.attributes))
489 return ::mlir::failure();
492 result.addTypes(odsBuildableType0);
493 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
494 return ::mlir::failure();
495 return ::mlir::success();
501 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
502 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
505void AndOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
521 bool isVariadic[] = {
false,
true};
522 int prevVariadicCount = 0;
523 for (
unsigned i = 0; i < index; ++i)
524 if (isVariadic[i]) ++prevVariadicCount;
528 int variadicSize = (odsOperandsSize - 1) / 1;
533 int start = index + (variadicSize - 1) * prevVariadicCount;
534 int size = isVariadic[index] ? variadicSize : 1;
535 return {start, size};
542 return ::mlir::success();
546 bool isVariadic[] = {
false,
true};
547 int prevVariadicCount = 0;
548 for (
unsigned i = 0; i < index; ++i)
549 if (isVariadic[i]) ++prevVariadicCount;
553 int variadicSize = (getOperation()->getNumOperands() - 1) / 1;
558 int start = index + (variadicSize - 1) * prevVariadicCount;
559 int size = isVariadic[index] ? variadicSize : 1;
560 return {start, size};
565 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
569void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args) {
570 odsState.addOperands(func);
571 odsState.addOperands(args);
572 odsState.addTypes(result);
575void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value func, ::mlir::ValueRange args) {
576 odsState.addOperands(func);
577 odsState.addOperands(args);
579 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
581 odsState.location, odsState.operands,
582 odsState.attributes.getDictionary(odsState.getContext()),
583 odsState.getRawProperties(),
584 odsState.regions, inferredReturnTypes)))
585 odsState.addTypes(inferredReturnTypes);
587 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
591void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value func, ::mlir::ValueRange args) {
592 odsState.addOperands(func);
593 odsState.addOperands(args);
594 assert(resultTypes.size() == 1u &&
"mismatched number of results");
595 odsState.addTypes(resultTypes);
598void ApplyFuncOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
599 assert(operands.size() >= 1u &&
"mismatched number of parameters");
600 odsState.addOperands(operands);
601 odsState.addAttributes(attributes);
602 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
603 odsState.addTypes(resultTypes);
606void ApplyFuncOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
607 assert(operands.size() >= 1u &&
"mismatched number of parameters");
608 odsState.addOperands(operands);
609 odsState.addAttributes(attributes);
611 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
613 odsState.location, operands,
614 odsState.attributes.getDictionary(odsState.getContext()),
615 odsState.getRawProperties(),
616 odsState.regions, inferredReturnTypes))) {
617 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
618 odsState.addTypes(inferredReturnTypes);
620 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
626 unsigned index = 0; (void)index;
629 for (
auto v : valueGroup0) {
630 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT3(*
this, v.getType(),
"operand", index++)))
631 return ::mlir::failure();
635 for (
auto v : valueGroup1) {
636 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
637 return ::mlir::failure();
641 unsigned index = 0; (void)index;
644 for (
auto v : valueGroup0) {
645 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT5(*
this, v.getType(),
"result", index++)))
646 return ::mlir::failure();
650 return emitOpError(
"failed to verify that summary");
652 return emitOpError(
"failed to verify that summary");
653 return ::mlir::success();
660::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) {
661 inferredReturnTypes.resize(1);
662 ::mlir::Builder odsBuilder(context);
663 if (operands.size() <= 0)
664 return ::mlir::failure();
665 ::mlir::Type odsInferredType0 =
cast<SMTFuncType>(operands[0].getType()).getRangeType();
666 inferredReturnTypes[0] = odsInferredType0;
667 return ::mlir::success();
671 ::mlir::OpAsmParser::UnresolvedOperand funcRawOperand{};
672 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> funcOperands(&funcRawOperand, 1); ::llvm::SMLoc funcOperandsLoc;
673 (void)funcOperandsLoc;
674 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> argsOperands;
675 ::llvm::SMLoc argsOperandsLoc;
676 (void)argsOperandsLoc;
677 ::mlir::Type funcRawType{};
678 ::llvm::ArrayRef<::mlir::Type> funcTypes(&funcRawType, 1);
680 funcOperandsLoc = parser.getCurrentLocation();
681 if (parser.parseOperand(funcRawOperand))
682 return ::mlir::failure();
683 if (parser.parseLParen())
684 return ::mlir::failure();
686 argsOperandsLoc = parser.getCurrentLocation();
687 if (parser.parseOperandList(argsOperands))
688 return ::mlir::failure();
689 if (parser.parseRParen())
690 return ::mlir::failure();
692 auto loc = parser.getCurrentLocation();(void)loc;
693 if (parser.parseOptionalAttrDict(result.attributes))
694 return ::mlir::failure();
696 if (parser.parseColon())
697 return ::mlir::failure();
699 if (parser.parseType(funcRawType))
700 return ::mlir::failure();
701 for (::mlir::Type type : funcTypes) {
703 if (!((::llvm::isa<::llzk::smt::SMTFuncType>(type)))) {
704 return parser.emitError(parser.getNameLoc()) <<
"'func' must be , but got " << type;
708 if (parser.resolveOperands(funcOperands, funcTypes, funcOperandsLoc, result.operands))
709 return ::mlir::failure();
710 if (parser.resolveOperands(argsOperands,
cast<SMTFuncType>(funcTypes[0]).getDomainTypes(), argsOperandsLoc, result.operands))
711 return ::mlir::failure();
712 return ::mlir::success();
721 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
722 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
723 _odsPrinter <<
' ' <<
":";
725 _odsPrinter <<
getFunc().getType();
728void ApplyFuncOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
747 return ::mlir::success();
750void ArrayBroadcastOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
751 odsState.addOperands(value);
752 odsState.addTypes(result);
755void ArrayBroadcastOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
756 odsState.addOperands(value);
757 assert(resultTypes.size() == 1u &&
"mismatched number of results");
758 odsState.addTypes(resultTypes);
761void ArrayBroadcastOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
762 assert(operands.size() == 1u &&
"mismatched number of parameters");
763 odsState.addOperands(operands);
764 odsState.addAttributes(attributes);
765 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
766 odsState.addTypes(resultTypes);
771 unsigned index = 0; (void)index;
774 for (
auto v : valueGroup0) {
775 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
776 return ::mlir::failure();
780 unsigned index = 0; (void)index;
783 for (
auto v : valueGroup0) {
784 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"result", index++)))
785 return ::mlir::failure();
789 return emitOpError(
"failed to verify that summary");
790 return ::mlir::success();
798 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
799 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
800 (void)valueOperandsLoc;
801 ::mlir::Type resultRawType{};
802 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
804 valueOperandsLoc = parser.getCurrentLocation();
805 if (parser.parseOperand(valueRawOperand))
806 return ::mlir::failure();
808 auto loc = parser.getCurrentLocation();(void)loc;
809 if (parser.parseOptionalAttrDict(result.attributes))
810 return ::mlir::failure();
812 if (parser.parseColon())
813 return ::mlir::failure();
815 if (parser.parseType(resultRawType))
816 return ::mlir::failure();
817 for (::mlir::Type type : resultTypes) {
819 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
820 return parser.emitError(parser.getNameLoc()) <<
"'result' must be , but got " << type;
823 result.addTypes(resultTypes);
824 if (parser.resolveOperands(valueOperands,
cast<ArrayType>(resultTypes[0]).getRangeType(), valueOperandsLoc, result.operands))
825 return ::mlir::failure();
826 return ::mlir::success();
832 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
833 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
834 _odsPrinter <<
' ' <<
":";
858 return ::mlir::success();
861void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index) {
862 odsState.addOperands(
array);
863 odsState.addOperands(index);
864 odsState.addTypes(result);
868 odsState.addOperands(
array);
869 odsState.addOperands(index);
871 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
873 odsState.location, odsState.operands,
874 odsState.attributes.getDictionary(odsState.getContext()),
875 odsState.getRawProperties(),
876 odsState.regions, inferredReturnTypes)))
877 odsState.addTypes(inferredReturnTypes);
879 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
883void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index) {
884 odsState.addOperands(
array);
885 odsState.addOperands(index);
886 assert(resultTypes.size() == 1u &&
"mismatched number of results");
887 odsState.addTypes(resultTypes);
890void ArraySelectOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
891 assert(operands.size() == 2u &&
"mismatched number of parameters");
892 odsState.addOperands(operands);
893 odsState.addAttributes(attributes);
894 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
895 odsState.addTypes(resultTypes);
898void ArraySelectOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
899 assert(operands.size() == 2u &&
"mismatched number of parameters");
900 odsState.addOperands(operands);
901 odsState.addAttributes(attributes);
903 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
905 odsState.location, operands,
906 odsState.attributes.getDictionary(odsState.getContext()),
907 odsState.getRawProperties(),
908 odsState.regions, inferredReturnTypes))) {
909 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
910 odsState.addTypes(inferredReturnTypes);
912 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
918 unsigned index = 0; (void)index;
921 for (
auto v : valueGroup0) {
922 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"operand", index++)))
923 return ::mlir::failure();
927 for (
auto v : valueGroup1) {
928 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
929 return ::mlir::failure();
933 unsigned index = 0; (void)index;
936 for (
auto v : valueGroup0) {
937 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
938 return ::mlir::failure();
942 return emitOpError(
"failed to verify that summary");
944 return emitOpError(
"failed to verify that summary");
945 return ::mlir::success();
952::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) {
953 inferredReturnTypes.resize(1);
954 ::mlir::Builder odsBuilder(context);
955 if (operands.size() <= 0)
956 return ::mlir::failure();
957 ::mlir::Type odsInferredType0 =
cast<ArrayType>(operands[0].getType()).getRangeType();
958 inferredReturnTypes[0] = odsInferredType0;
959 return ::mlir::success();
963 ::mlir::OpAsmParser::UnresolvedOperand arrayRawOperand{};
964 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> arrayOperands(&arrayRawOperand, 1); ::llvm::SMLoc arrayOperandsLoc;
965 (void)arrayOperandsLoc;
966 ::mlir::OpAsmParser::UnresolvedOperand indexRawOperand{};
967 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> indexOperands(&indexRawOperand, 1); ::llvm::SMLoc indexOperandsLoc;
968 (void)indexOperandsLoc;
969 ::mlir::Type arrayRawType{};
970 ::llvm::ArrayRef<::mlir::Type> arrayTypes(&arrayRawType, 1);
972 arrayOperandsLoc = parser.getCurrentLocation();
973 if (parser.parseOperand(arrayRawOperand))
974 return ::mlir::failure();
975 if (parser.parseLSquare())
976 return ::mlir::failure();
978 indexOperandsLoc = parser.getCurrentLocation();
979 if (parser.parseOperand(indexRawOperand))
980 return ::mlir::failure();
981 if (parser.parseRSquare())
982 return ::mlir::failure();
984 auto loc = parser.getCurrentLocation();(void)loc;
985 if (parser.parseOptionalAttrDict(result.attributes))
986 return ::mlir::failure();
988 if (parser.parseColon())
989 return ::mlir::failure();
991 if (parser.parseType(arrayRawType))
992 return ::mlir::failure();
993 for (::mlir::Type type : arrayTypes) {
995 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
996 return parser.emitError(parser.getNameLoc()) <<
"'array' must be , but got " << type;
1000 if (parser.resolveOperands(arrayOperands, arrayTypes, arrayOperandsLoc, result.operands))
1001 return ::mlir::failure();
1002 if (parser.resolveOperands(indexOperands,
cast<ArrayType>(arrayTypes[0]).getDomainType(), indexOperandsLoc, result.operands))
1003 return ::mlir::failure();
1004 return ::mlir::success();
1013 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1014 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1015 _odsPrinter <<
' ' <<
":";
1017 _odsPrinter <<
getArray().getType();
1039 return ::mlir::success();
1042void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1043 odsState.addOperands(
array);
1044 odsState.addOperands(index);
1045 odsState.addOperands(value);
1046 odsState.addTypes(result);
1049void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1050 odsState.addOperands(
array);
1051 odsState.addOperands(index);
1052 odsState.addOperands(value);
1054 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1056 odsState.location, odsState.operands,
1057 odsState.attributes.getDictionary(odsState.getContext()),
1058 odsState.getRawProperties(),
1059 odsState.regions, inferredReturnTypes)))
1060 odsState.addTypes(inferredReturnTypes);
1062 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1066void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value) {
1067 odsState.addOperands(
array);
1068 odsState.addOperands(index);
1069 odsState.addOperands(value);
1070 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1071 odsState.addTypes(resultTypes);
1074void ArrayStoreOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1075 assert(operands.size() == 3u &&
"mismatched number of parameters");
1076 odsState.addOperands(operands);
1077 odsState.addAttributes(attributes);
1078 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1079 odsState.addTypes(resultTypes);
1082void ArrayStoreOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1083 assert(operands.size() == 3u &&
"mismatched number of parameters");
1084 odsState.addOperands(operands);
1085 odsState.addAttributes(attributes);
1087 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1089 odsState.location, operands,
1090 odsState.attributes.getDictionary(odsState.getContext()),
1091 odsState.getRawProperties(),
1092 odsState.regions, inferredReturnTypes))) {
1093 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1094 odsState.addTypes(inferredReturnTypes);
1096 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1102 unsigned index = 0; (void)index;
1105 for (
auto v : valueGroup0) {
1106 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"operand", index++)))
1107 return ::mlir::failure();
1111 for (
auto v : valueGroup1) {
1112 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
1113 return ::mlir::failure();
1117 for (
auto v : valueGroup2) {
1118 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
1119 return ::mlir::failure();
1123 unsigned index = 0; (void)index;
1126 for (
auto v : valueGroup0) {
1127 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT7(*
this, v.getType(),
"result", index++)))
1128 return ::mlir::failure();
1132 return emitOpError(
"failed to verify that summary");
1134 return emitOpError(
"failed to verify that summary");
1136 return emitOpError(
"failed to verify that all of {array, result} have same type");
1137 return ::mlir::success();
1144::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) {
1145 inferredReturnTypes.resize(1);
1146 ::mlir::Builder odsBuilder(context);
1147 if (operands.size() <= 0)
1148 return ::mlir::failure();
1149 ::mlir::Type odsInferredType0 = operands[0].getType();
1150 inferredReturnTypes[0] = odsInferredType0;
1151 return ::mlir::success();
1155 ::mlir::OpAsmParser::UnresolvedOperand arrayRawOperand{};
1156 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> arrayOperands(&arrayRawOperand, 1); ::llvm::SMLoc arrayOperandsLoc;
1157 (void)arrayOperandsLoc;
1158 ::mlir::OpAsmParser::UnresolvedOperand indexRawOperand{};
1159 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> indexOperands(&indexRawOperand, 1); ::llvm::SMLoc indexOperandsLoc;
1160 (void)indexOperandsLoc;
1161 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
1162 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
1163 (void)valueOperandsLoc;
1164 ::mlir::Type arrayRawType{};
1165 ::llvm::ArrayRef<::mlir::Type> arrayTypes(&arrayRawType, 1);
1167 arrayOperandsLoc = parser.getCurrentLocation();
1168 if (parser.parseOperand(arrayRawOperand))
1169 return ::mlir::failure();
1170 if (parser.parseLSquare())
1171 return ::mlir::failure();
1173 indexOperandsLoc = parser.getCurrentLocation();
1174 if (parser.parseOperand(indexRawOperand))
1175 return ::mlir::failure();
1176 if (parser.parseRSquare())
1177 return ::mlir::failure();
1178 if (parser.parseComma())
1179 return ::mlir::failure();
1181 valueOperandsLoc = parser.getCurrentLocation();
1182 if (parser.parseOperand(valueRawOperand))
1183 return ::mlir::failure();
1185 auto loc = parser.getCurrentLocation();(void)loc;
1186 if (parser.parseOptionalAttrDict(result.attributes))
1187 return ::mlir::failure();
1189 if (parser.parseColon())
1190 return ::mlir::failure();
1192 if (parser.parseType(arrayRawType))
1193 return ::mlir::failure();
1194 for (::mlir::Type type : arrayTypes) {
1196 if (!((::llvm::isa<::llzk::smt::ArrayType>(type)))) {
1197 return parser.emitError(parser.getNameLoc()) <<
"'array' must be , but got " << type;
1200 result.addTypes(arrayTypes[0]);
1201 if (parser.resolveOperands(arrayOperands, arrayTypes, arrayOperandsLoc, result.operands))
1202 return ::mlir::failure();
1203 if (parser.resolveOperands(indexOperands,
cast<ArrayType>(arrayTypes[0]).getDomainType(), indexOperandsLoc, result.operands))
1204 return ::mlir::failure();
1205 if (parser.resolveOperands(valueOperands,
cast<ArrayType>(arrayTypes[0]).getRangeType(), valueOperandsLoc, result.operands))
1206 return ::mlir::failure();
1207 return ::mlir::success();
1219 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1220 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1221 _odsPrinter <<
' ' <<
":";
1223 _odsPrinter <<
getArray().getType();
1245 return ::mlir::success();
1248void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
1249 odsState.addOperands(input);
1252void AssertOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
1253 odsState.addOperands(input);
1254 assert(resultTypes.size() == 0u &&
"mismatched number of results");
1255 odsState.addTypes(resultTypes);
1258void AssertOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1259 assert(operands.size() == 1u &&
"mismatched number of parameters");
1260 odsState.addOperands(operands);
1261 odsState.addAttributes(attributes);
1262 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
1263 odsState.addTypes(resultTypes);
1268 unsigned index = 0; (void)index;
1271 for (
auto v : valueGroup0) {
1272 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
1273 return ::mlir::failure();
1276 return ::mlir::success();
1283::mlir::ParseResult
AssertOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1284 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
1285 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
1286 (void)inputOperandsLoc;
1288 inputOperandsLoc = parser.getCurrentLocation();
1289 if (parser.parseOperand(inputRawOperand))
1290 return ::mlir::failure();
1292 auto loc = parser.getCurrentLocation();(void)loc;
1293 if (parser.parseOptionalAttrDict(result.attributes))
1294 return ::mlir::failure();
1297 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
1298 return ::mlir::failure();
1299 return ::mlir::success();
1305 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1306 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1324 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().is_signed);
1326 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
1333 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
1334 return attr !=
nullptr;
1343 if (tblgen_is_signed && !((::llvm::isa<::mlir::UnitAttr>(tblgen_is_signed))))
1344 return emitError(loc,
"'smt.bv2int' op ""attribute 'is_signed' failed to satisfy constraint: unit attribute");
1345 return ::mlir::success();
1349 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
1351 emitError() <<
"expected DictionaryAttr to set properties";
1352 return ::mlir::failure();
1357 auto attr = dict.get(
"is_signed");
1359 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
1360 if (convertedAttr) {
1361 propStorage = convertedAttr;
1363 emitError() <<
"Invalid attribute `is_signed` in property conversion: " << attr;
1364 return ::mlir::failure();
1368 return ::mlir::success();
1372 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
1373 ::mlir::Builder odsBuilder{ctx};
1376 const auto &propStorage = prop.
is_signed;
1378 attrs.push_back(odsBuilder.getNamedAttr(
"is_signed",
1383 return odsBuilder.getDictionaryAttr(attrs);
1388 return llvm::hash_combine(
1389 llvm::hash_value(prop.
is_signed.getAsOpaquePointer()));
1393 if (name ==
"is_signed")
1395 return std::nullopt;
1399 if (name ==
"is_signed") {
1400 prop.
is_signed = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
is_signed)>>(value);
1409::llvm::LogicalResult
BV2IntOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
1412 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"is_signed", emitError)))
1413 return ::mlir::failure();
1415 return ::mlir::success();
1419 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
1420 if (::mlir::failed(reader.readOptionalAttribute(prop.
is_signed)))
1421 return ::mlir::failure();
1422 return ::mlir::success();
1426 auto &prop = getProperties(); (void)prop;
1428 writer.writeOptionalAttribute(prop.
is_signed);
1434 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
1435 return attr !=
nullptr;
1439 auto &odsProp = getProperties().is_signed;
1441 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
1446void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1447 odsState.addOperands(input);
1449 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1451 odsState.addTypes(result);
1454void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1455 odsState.addOperands(input);
1457 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1460 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1462 odsState.location, odsState.operands,
1463 odsState.attributes.getDictionary(odsState.getContext()),
1464 odsState.getRawProperties(),
1465 odsState.regions, inferredReturnTypes)))
1466 odsState.addTypes(inferredReturnTypes);
1468 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1472void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input, ::mlir::UnitAttr is_signed) {
1473 odsState.addOperands(input);
1475 odsState.getOrAddProperties<
Properties>().is_signed = is_signed;
1477 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1478 odsState.addTypes(resultTypes);
1481void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input,
bool is_signed) {
1482 odsState.addOperands(input);
1484 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1486 odsState.addTypes(result);
1489void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input,
bool is_signed) {
1490 odsState.addOperands(input);
1492 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1495 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1497 odsState.location, odsState.operands,
1498 odsState.attributes.getDictionary(odsState.getContext()),
1499 odsState.getRawProperties(),
1500 odsState.regions, inferredReturnTypes)))
1501 odsState.addTypes(inferredReturnTypes);
1503 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1507void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input,
bool is_signed) {
1508 odsState.addOperands(input);
1510 odsState.getOrAddProperties<
Properties>().is_signed = ((is_signed) ? odsBuilder.getUnitAttr() :
nullptr);
1512 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1513 odsState.addTypes(resultTypes);
1516void BV2IntOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1517 assert(operands.size() == 1u &&
"mismatched number of parameters");
1518 odsState.addOperands(operands);
1519 odsState.addAttributes(attributes);
1520 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1521 odsState.addTypes(resultTypes);
1523 if (!attributes.empty()) {
1524 ::mlir::OpaqueProperties properties =
1526 std::optional<::mlir::RegisteredOperationName> info =
1527 odsState.name.getRegisteredInfo();
1528 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1529 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1530 ::llvm::report_fatal_error(
"Property conversion failed.");
1534void BV2IntOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1535 assert(operands.size() == 1u &&
"mismatched number of parameters");
1536 odsState.addOperands(operands);
1537 odsState.addAttributes(attributes);
1539 if (!attributes.empty()) {
1540 ::mlir::OpaqueProperties properties =
1542 std::optional<::mlir::RegisteredOperationName> info =
1543 odsState.name.getRegisteredInfo();
1544 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
1545 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
1546 ::llvm::report_fatal_error(
"Property conversion failed.");
1548 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1550 odsState.location, operands,
1551 odsState.attributes.getDictionary(odsState.getContext()),
1552 odsState.getRawProperties(),
1553 odsState.regions, inferredReturnTypes))) {
1554 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1555 odsState.addTypes(inferredReturnTypes);
1557 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1562 auto tblgen_is_signed = getProperties().is_signed; (void)tblgen_is_signed;
1564 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_is_signed,
"is_signed")))
1565 return ::mlir::failure();
1567 unsigned index = 0; (void)index;
1570 for (
auto v : valueGroup0) {
1571 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1572 return ::mlir::failure();
1576 unsigned index = 0; (void)index;
1579 for (
auto v : valueGroup0) {
1580 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
1581 return ::mlir::failure();
1584 return ::mlir::success();
1591::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) {
1592 inferredReturnTypes.resize(1);
1593 ::mlir::Builder odsBuilder(context);
1595 inferredReturnTypes[0] = odsInferredType0;
1596 return ::mlir::success();
1599::mlir::ParseResult
BV2IntOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1600 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
1601 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
1602 (void)inputOperandsLoc;
1603 ::mlir::Type inputRawType{};
1604 ::llvm::ArrayRef<::mlir::Type> inputTypes(&inputRawType, 1);
1606 inputOperandsLoc = parser.getCurrentLocation();
1607 if (parser.parseOperand(inputRawOperand))
1608 return ::mlir::failure();
1609 if (::mlir::succeeded(parser.parseOptionalKeyword(
"signed"))) {
1610 result.getOrAddProperties<
BV2IntOp::Properties>().is_signed = parser.getBuilder().getUnitAttr(); }
1612 auto loc = parser.getCurrentLocation();(void)loc;
1613 if (parser.parseOptionalAttrDict(result.attributes))
1614 return ::mlir::failure();
1616 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
1618 return ::mlir::failure();
1620 if (parser.parseColon())
1621 return ::mlir::failure();
1623 if (parser.parseType(inputRawType))
1624 return ::mlir::failure();
1626 result.addTypes(odsBuildableType0);
1627 if (parser.resolveOperands(inputOperands, inputTypes, inputOperandsLoc, result.operands))
1628 return ::mlir::failure();
1629 return ::mlir::success();
1636 _odsPrinter <<
' ' <<
"signed";
1638 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1639 elidedAttrs.push_back(
"is_signed");
1641 ::mlir::Builder odsBuilder(getContext());
1643 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
1644 elidedAttrs.push_back(
"is_signed");
1646 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1647 _odsPrinter <<
' ' <<
":";
1649 _odsPrinter <<
getInput().getType();
1652void BV2IntOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1671 return ::mlir::success();
1674void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1675 odsState.addOperands(lhs);
1676 odsState.addOperands(rhs);
1677 odsState.addTypes(result);
1680void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1681 odsState.addOperands(lhs);
1682 odsState.addOperands(rhs);
1684 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1686 odsState.location, odsState.operands,
1687 odsState.attributes.getDictionary(odsState.getContext()),
1688 odsState.getRawProperties(),
1689 odsState.regions, inferredReturnTypes)))
1690 odsState.addTypes(inferredReturnTypes);
1692 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1696void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1697 odsState.addOperands(lhs);
1698 odsState.addOperands(rhs);
1699 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1700 odsState.addTypes(resultTypes);
1703void BVAShrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1704 assert(operands.size() == 2u &&
"mismatched number of parameters");
1705 odsState.addOperands(operands);
1706 odsState.addAttributes(attributes);
1707 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1708 odsState.addTypes(resultTypes);
1711void BVAShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1712 assert(operands.size() == 2u &&
"mismatched number of parameters");
1713 odsState.addOperands(operands);
1714 odsState.addAttributes(attributes);
1716 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1718 odsState.location, operands,
1719 odsState.attributes.getDictionary(odsState.getContext()),
1720 odsState.getRawProperties(),
1721 odsState.regions, inferredReturnTypes))) {
1722 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1723 odsState.addTypes(inferredReturnTypes);
1725 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1731 unsigned index = 0; (void)index;
1734 for (
auto v : valueGroup0) {
1735 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1736 return ::mlir::failure();
1740 for (
auto v : valueGroup1) {
1741 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1742 return ::mlir::failure();
1746 unsigned index = 0; (void)index;
1749 for (
auto v : valueGroup0) {
1750 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
1751 return ::mlir::failure();
1754 return ::mlir::success();
1761::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) {
1762 inferredReturnTypes.resize(1);
1763 ::mlir::Builder odsBuilder(context);
1764 if (operands.size() <= 0)
1765 return ::mlir::failure();
1766 ::mlir::Type odsInferredType0 = operands[0].getType();
1767 inferredReturnTypes[0] = odsInferredType0;
1768 return ::mlir::success();
1771::mlir::ParseResult
BVAShrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1772 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1773 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1774 (void)lhsOperandsLoc;
1775 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1776 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1777 (void)rhsOperandsLoc;
1778 ::mlir::Type resultRawType{};
1779 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
1781 lhsOperandsLoc = parser.getCurrentLocation();
1782 if (parser.parseOperand(lhsRawOperand))
1783 return ::mlir::failure();
1784 if (parser.parseComma())
1785 return ::mlir::failure();
1787 rhsOperandsLoc = parser.getCurrentLocation();
1788 if (parser.parseOperand(rhsRawOperand))
1789 return ::mlir::failure();
1791 auto loc = parser.getCurrentLocation();(void)loc;
1792 if (parser.parseOptionalAttrDict(result.attributes))
1793 return ::mlir::failure();
1795 if (parser.parseColon())
1796 return ::mlir::failure();
1798 if (parser.parseType(resultRawType))
1799 return ::mlir::failure();
1800 result.addTypes(resultTypes);
1801 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
1802 return ::mlir::failure();
1803 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
1804 return ::mlir::failure();
1805 return ::mlir::success();
1814 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1815 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1816 _odsPrinter <<
' ' <<
":";
1821void BVAShrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
1840 return ::mlir::success();
1843void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
1844 odsState.addOperands(lhs);
1845 odsState.addOperands(rhs);
1846 odsState.addTypes(result);
1849void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
1850 odsState.addOperands(lhs);
1851 odsState.addOperands(rhs);
1853 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1855 odsState.location, odsState.operands,
1856 odsState.attributes.getDictionary(odsState.getContext()),
1857 odsState.getRawProperties(),
1858 odsState.regions, inferredReturnTypes)))
1859 odsState.addTypes(inferredReturnTypes);
1861 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
1865void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
1866 odsState.addOperands(lhs);
1867 odsState.addOperands(rhs);
1868 assert(resultTypes.size() == 1u &&
"mismatched number of results");
1869 odsState.addTypes(resultTypes);
1872void BVAddOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1873 assert(operands.size() == 2u &&
"mismatched number of parameters");
1874 odsState.addOperands(operands);
1875 odsState.addAttributes(attributes);
1876 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
1877 odsState.addTypes(resultTypes);
1880void BVAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
1881 assert(operands.size() == 2u &&
"mismatched number of parameters");
1882 odsState.addOperands(operands);
1883 odsState.addAttributes(attributes);
1885 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
1887 odsState.location, operands,
1888 odsState.attributes.getDictionary(odsState.getContext()),
1889 odsState.getRawProperties(),
1890 odsState.regions, inferredReturnTypes))) {
1891 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
1892 odsState.addTypes(inferredReturnTypes);
1894 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
1900 unsigned index = 0; (void)index;
1903 for (
auto v : valueGroup0) {
1904 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1905 return ::mlir::failure();
1909 for (
auto v : valueGroup1) {
1910 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
1911 return ::mlir::failure();
1915 unsigned index = 0; (void)index;
1918 for (
auto v : valueGroup0) {
1919 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
1920 return ::mlir::failure();
1923 return ::mlir::success();
1930::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) {
1931 inferredReturnTypes.resize(1);
1932 ::mlir::Builder odsBuilder(context);
1933 if (operands.size() <= 0)
1934 return ::mlir::failure();
1935 ::mlir::Type odsInferredType0 = operands[0].getType();
1936 inferredReturnTypes[0] = odsInferredType0;
1937 return ::mlir::success();
1940::mlir::ParseResult
BVAddOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
1941 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
1942 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
1943 (void)lhsOperandsLoc;
1944 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
1945 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
1946 (void)rhsOperandsLoc;
1947 ::mlir::Type resultRawType{};
1948 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
1950 lhsOperandsLoc = parser.getCurrentLocation();
1951 if (parser.parseOperand(lhsRawOperand))
1952 return ::mlir::failure();
1953 if (parser.parseComma())
1954 return ::mlir::failure();
1956 rhsOperandsLoc = parser.getCurrentLocation();
1957 if (parser.parseOperand(rhsRawOperand))
1958 return ::mlir::failure();
1960 auto loc = parser.getCurrentLocation();(void)loc;
1961 if (parser.parseOptionalAttrDict(result.attributes))
1962 return ::mlir::failure();
1964 if (parser.parseColon())
1965 return ::mlir::failure();
1967 if (parser.parseType(resultRawType))
1968 return ::mlir::failure();
1969 result.addTypes(resultTypes);
1970 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
1971 return ::mlir::failure();
1972 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
1973 return ::mlir::failure();
1974 return ::mlir::success();
1983 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
1984 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
1985 _odsPrinter <<
' ' <<
":";
1990void BVAddOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2009 return ::mlir::success();
2012void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2013 odsState.addOperands(lhs);
2014 odsState.addOperands(rhs);
2015 odsState.addTypes(result);
2018void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2019 odsState.addOperands(lhs);
2020 odsState.addOperands(rhs);
2022 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2024 odsState.location, odsState.operands,
2025 odsState.attributes.getDictionary(odsState.getContext()),
2026 odsState.getRawProperties(),
2027 odsState.regions, inferredReturnTypes)))
2028 odsState.addTypes(inferredReturnTypes);
2030 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2034void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2035 odsState.addOperands(lhs);
2036 odsState.addOperands(rhs);
2037 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2038 odsState.addTypes(resultTypes);
2041void BVAndOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2042 assert(operands.size() == 2u &&
"mismatched number of parameters");
2043 odsState.addOperands(operands);
2044 odsState.addAttributes(attributes);
2045 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2046 odsState.addTypes(resultTypes);
2049void BVAndOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2050 assert(operands.size() == 2u &&
"mismatched number of parameters");
2051 odsState.addOperands(operands);
2052 odsState.addAttributes(attributes);
2054 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2056 odsState.location, operands,
2057 odsState.attributes.getDictionary(odsState.getContext()),
2058 odsState.getRawProperties(),
2059 odsState.regions, inferredReturnTypes))) {
2060 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2061 odsState.addTypes(inferredReturnTypes);
2063 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2069 unsigned index = 0; (void)index;
2072 for (
auto v : valueGroup0) {
2073 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2074 return ::mlir::failure();
2078 for (
auto v : valueGroup1) {
2079 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2080 return ::mlir::failure();
2084 unsigned index = 0; (void)index;
2087 for (
auto v : valueGroup0) {
2088 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2089 return ::mlir::failure();
2092 return ::mlir::success();
2099::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) {
2100 inferredReturnTypes.resize(1);
2101 ::mlir::Builder odsBuilder(context);
2102 if (operands.size() <= 0)
2103 return ::mlir::failure();
2104 ::mlir::Type odsInferredType0 = operands[0].getType();
2105 inferredReturnTypes[0] = odsInferredType0;
2106 return ::mlir::success();
2109::mlir::ParseResult
BVAndOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2110 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2111 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2112 (void)lhsOperandsLoc;
2113 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2114 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2115 (void)rhsOperandsLoc;
2116 ::mlir::Type resultRawType{};
2117 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
2119 lhsOperandsLoc = parser.getCurrentLocation();
2120 if (parser.parseOperand(lhsRawOperand))
2121 return ::mlir::failure();
2122 if (parser.parseComma())
2123 return ::mlir::failure();
2125 rhsOperandsLoc = parser.getCurrentLocation();
2126 if (parser.parseOperand(rhsRawOperand))
2127 return ::mlir::failure();
2129 auto loc = parser.getCurrentLocation();(void)loc;
2130 if (parser.parseOptionalAttrDict(result.attributes))
2131 return ::mlir::failure();
2133 if (parser.parseColon())
2134 return ::mlir::failure();
2136 if (parser.parseType(resultRawType))
2137 return ::mlir::failure();
2138 result.addTypes(resultTypes);
2139 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
2140 return ::mlir::failure();
2141 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
2142 return ::mlir::failure();
2143 return ::mlir::success();
2152 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2153 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2154 _odsPrinter <<
' ' <<
":";
2159void BVAndOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2178 return attr.getValue();
2186 if (!tblgen_pred)
return emitError(loc,
"'smt.bv.cmp' op ""requires attribute 'pred'");
2188 if (tblgen_pred && !((::llvm::isa<::llzk::smt::BVCmpPredicateAttr>(tblgen_pred))))
2189 return emitError(loc,
"'smt.bv.cmp' op ""attribute 'pred' failed to satisfy constraint: smt bit-vector comparison predicate");
2190 return ::mlir::success();
2194 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2196 emitError() <<
"expected DictionaryAttr to set properties";
2197 return ::mlir::failure();
2201 auto &propStorage = prop.
pred;
2202 auto attr = dict.
get(
"pred");
2204 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
2205 if (convertedAttr) {
2206 propStorage = convertedAttr;
2208 emitError() <<
"Invalid attribute `pred` in property conversion: " << attr;
2209 return ::mlir::failure();
2213 return ::mlir::success();
2217 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2218 ::mlir::Builder odsBuilder{ctx};
2221 const auto &propStorage = prop.
pred;
2223 attrs.push_back(odsBuilder.getNamedAttr(
"pred",
2228 return odsBuilder.getDictionaryAttr(attrs);
2233 return llvm::hash_combine(
2234 llvm::hash_value(prop.
pred.getAsOpaquePointer()));
2240 return std::nullopt;
2244 if (name ==
"pred") {
2245 prop.
pred = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
pred)>>(value);
2251 if (prop.
pred) attrs.append(
"pred", prop.
pred);
2254::llvm::LogicalResult
BVCmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
2257 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT2(attr,
"pred", emitError)))
2258 return ::mlir::failure();
2260 return ::mlir::success();
2264 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
2265 if (::mlir::failed(reader.readAttribute(prop.
pred)))
2266 return ::mlir::failure();
2267 return ::mlir::success();
2271 auto &prop = getProperties(); (void)prop;
2272 writer.writeAttribute(prop.
pred);
2277 return attr.getValue();
2285 odsState.addOperands(lhs);
2286 odsState.addOperands(rhs);
2287 odsState.getOrAddProperties<
Properties>().pred = pred;
2288 odsState.addTypes(result);
2292 odsState.addOperands(lhs);
2293 odsState.addOperands(rhs);
2294 odsState.getOrAddProperties<
Properties>().pred = pred;
2296 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2298 odsState.location, odsState.operands,
2299 odsState.attributes.getDictionary(odsState.getContext()),
2300 odsState.getRawProperties(),
2301 odsState.regions, inferredReturnTypes)))
2302 odsState.addTypes(inferredReturnTypes);
2304 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2309 odsState.addOperands(lhs);
2310 odsState.addOperands(rhs);
2311 odsState.getOrAddProperties<
Properties>().pred = pred;
2312 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2313 odsState.addTypes(resultTypes);
2317 odsState.addOperands(lhs);
2318 odsState.addOperands(rhs);
2320 odsState.addTypes(result);
2324 odsState.addOperands(lhs);
2325 odsState.addOperands(rhs);
2328 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2330 odsState.location, odsState.operands,
2331 odsState.attributes.getDictionary(odsState.getContext()),
2332 odsState.getRawProperties(),
2333 odsState.regions, inferredReturnTypes)))
2334 odsState.addTypes(inferredReturnTypes);
2336 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2341 odsState.addOperands(lhs);
2342 odsState.addOperands(rhs);
2344 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2345 odsState.addTypes(resultTypes);
2348void BVCmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2349 assert(operands.size() == 2u &&
"mismatched number of parameters");
2350 odsState.addOperands(operands);
2351 odsState.addAttributes(attributes);
2352 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2353 odsState.addTypes(resultTypes);
2355 if (!attributes.empty()) {
2356 ::mlir::OpaqueProperties properties =
2358 std::optional<::mlir::RegisteredOperationName> info =
2359 odsState.name.getRegisteredInfo();
2360 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2361 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2362 ::llvm::report_fatal_error(
"Property conversion failed.");
2366void BVCmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2367 assert(operands.size() == 2u &&
"mismatched number of parameters");
2368 odsState.addOperands(operands);
2369 odsState.addAttributes(attributes);
2371 if (!attributes.empty()) {
2372 ::mlir::OpaqueProperties properties =
2374 std::optional<::mlir::RegisteredOperationName> info =
2375 odsState.name.getRegisteredInfo();
2376 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2377 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2378 ::llvm::report_fatal_error(
"Property conversion failed.");
2380 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2382 odsState.location, operands,
2383 odsState.attributes.getDictionary(odsState.getContext()),
2384 odsState.getRawProperties(),
2385 odsState.regions, inferredReturnTypes))) {
2386 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2387 odsState.addTypes(inferredReturnTypes);
2389 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2394 auto tblgen_pred = getProperties().pred; (void)tblgen_pred;
2395 if (!tblgen_pred)
return emitOpError(
"requires attribute 'pred'");
2397 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT2(*
this, tblgen_pred,
"pred")))
2398 return ::mlir::failure();
2400 unsigned index = 0; (void)index;
2403 for (
auto v : valueGroup0) {
2404 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2405 return ::mlir::failure();
2409 for (
auto v : valueGroup1) {
2410 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2411 return ::mlir::failure();
2415 unsigned index = 0; (void)index;
2418 for (
auto v : valueGroup0) {
2419 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
2420 return ::mlir::failure();
2423 return ::mlir::success();
2430::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) {
2431 inferredReturnTypes.resize(1);
2432 ::mlir::Builder odsBuilder(context);
2434 inferredReturnTypes[0] = odsInferredType0;
2435 return ::mlir::success();
2438::mlir::ParseResult
BVCmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2440 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2441 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2442 (void)lhsOperandsLoc;
2443 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2444 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2445 (void)rhsOperandsLoc;
2446 ::mlir::Type lhsRawType{};
2447 ::llvm::ArrayRef<::mlir::Type> lhsTypes(&lhsRawType, 1);
2450 ::llvm::StringRef attrStr;
2451 ::mlir::NamedAttrList attrStorage;
2452 auto loc = parser.getCurrentLocation();
2453 if (parser.parseOptionalKeyword(&attrStr, {
"slt",
"sle",
"sgt",
"sge",
"ult",
"ule",
"ugt",
"uge"})) {
2454 ::mlir::StringAttr attrVal;
2455 ::mlir::OptionalParseResult parseResult =
2456 parser.parseOptionalAttribute(attrVal,
2457 parser.getBuilder().getNoneType(),
2458 "pred", attrStorage);
2459 if (parseResult.has_value()) {
2460 if (failed(*parseResult))
2461 return ::mlir::failure();
2462 attrStr = attrVal.getValue();
2464 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]");
2467 if (!attrStr.empty()) {
2470 return parser.emitError(loc,
"invalid ")
2471 <<
"pred attribute specification: \"" << attrStr <<
'"';;
2478 lhsOperandsLoc = parser.getCurrentLocation();
2479 if (parser.parseOperand(lhsRawOperand))
2480 return ::mlir::failure();
2481 if (parser.parseComma())
2482 return ::mlir::failure();
2484 rhsOperandsLoc = parser.getCurrentLocation();
2485 if (parser.parseOperand(rhsRawOperand))
2486 return ::mlir::failure();
2488 auto loc = parser.getCurrentLocation();(void)loc;
2489 if (parser.parseOptionalAttrDict(result.attributes))
2490 return ::mlir::failure();
2492 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2494 return ::mlir::failure();
2496 if (parser.parseColon())
2497 return ::mlir::failure();
2499 if (parser.parseType(lhsRawType))
2500 return ::mlir::failure();
2502 result.addTypes(odsBuildableType0);
2503 if (parser.resolveOperands(lhsOperands, lhsTypes, lhsOperandsLoc, result.operands))
2504 return ::mlir::failure();
2505 if (parser.resolveOperands(rhsOperands, lhsTypes[0], rhsOperandsLoc, result.operands))
2506 return ::mlir::failure();
2507 return ::mlir::success();
2516 _odsPrinter << caseValueStr;
2523 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2524 elidedAttrs.push_back(
"pred");
2525 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2526 _odsPrinter <<
' ' <<
":";
2528 _odsPrinter <<
getLhs().getType();
2531void BVCmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2550 return ::llvm::cast<::llzk::smt::BitVectorAttr>(attr);
2558 if (!tblgen_value)
return emitError(loc,
"'smt.bv.constant' op ""requires attribute 'value'");
2560 if (tblgen_value && !((::llvm::isa<::llzk::smt::BitVectorAttr>(tblgen_value))))
2561 return emitError(loc,
"'smt.bv.constant' op ""attribute 'value' failed to satisfy constraint: ");
2562 return ::mlir::success();
2566 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
2568 emitError() <<
"expected DictionaryAttr to set properties";
2569 return ::mlir::failure();
2573 auto &propStorage = prop.
value;
2574 auto attr = dict.get(
"value");
2576 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
2577 if (convertedAttr) {
2578 propStorage = convertedAttr;
2580 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
2581 return ::mlir::failure();
2585 return ::mlir::success();
2589 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
2590 ::mlir::Builder odsBuilder{ctx};
2593 const auto &propStorage = prop.
value;
2595 attrs.push_back(odsBuilder.getNamedAttr(
"value",
2600 return odsBuilder.getDictionaryAttr(attrs);
2605 return llvm::hash_combine(
2606 llvm::hash_value(prop.
value.getAsOpaquePointer()));
2610 if (name ==
"value")
2612 return std::nullopt;
2616 if (name ==
"value") {
2617 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
2623 if (prop.
value) attrs.append(
"value", prop.
value);
2629 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT3(attr,
"value", emitError)))
2630 return ::mlir::failure();
2632 return ::mlir::success();
2636 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
2637 if (::mlir::failed(reader.readAttribute(prop.
value)))
2638 return ::mlir::failure();
2639 return ::mlir::success();
2643 auto &prop = getProperties(); (void)prop;
2644 writer.writeAttribute(prop.
value);
2649 return ::llvm::cast<::llzk::smt::BitVectorAttr>(attr);
2652void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
const llvm::APInt &value) {
2653 build(odsBuilder, odsState,
2654 BitVectorAttr::get(odsBuilder.getContext(), value));
2658void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint64_t value,
unsigned width) {
2659 build(odsBuilder, odsState,
2660 BitVectorAttr::get(odsBuilder.getContext(), value, width));
2664void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BitVectorAttr value) {
2665 odsState.getOrAddProperties<
Properties>().value = value;
2666 odsState.addTypes(result);
2669void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::BitVectorAttr value) {
2670 odsState.getOrAddProperties<
Properties>().value = value;
2672 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2674 odsState.location, odsState.operands,
2675 odsState.attributes.getDictionary(odsState.getContext()),
2676 odsState.getRawProperties(),
2677 odsState.regions, inferredReturnTypes)))
2678 odsState.addTypes(inferredReturnTypes);
2680 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2684void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::BitVectorAttr value) {
2685 odsState.getOrAddProperties<
Properties>().value = value;
2686 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2687 odsState.addTypes(resultTypes);
2690void BVConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2691 assert(operands.size() == 0u &&
"mismatched number of parameters");
2692 odsState.addOperands(operands);
2693 odsState.addAttributes(attributes);
2694 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2695 odsState.addTypes(resultTypes);
2697 if (!attributes.empty()) {
2698 ::mlir::OpaqueProperties properties =
2700 std::optional<::mlir::RegisteredOperationName> info =
2701 odsState.name.getRegisteredInfo();
2702 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2703 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2704 ::llvm::report_fatal_error(
"Property conversion failed.");
2708void BVConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2709 assert(operands.size() == 0u &&
"mismatched number of parameters");
2710 odsState.addOperands(operands);
2711 odsState.addAttributes(attributes);
2713 if (!attributes.empty()) {
2714 ::mlir::OpaqueProperties properties =
2716 std::optional<::mlir::RegisteredOperationName> info =
2717 odsState.name.getRegisteredInfo();
2718 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
2719 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
2720 ::llvm::report_fatal_error(
"Property conversion failed.");
2722 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2724 odsState.location, operands,
2725 odsState.attributes.getDictionary(odsState.getContext()),
2726 odsState.getRawProperties(),
2727 odsState.regions, inferredReturnTypes))) {
2728 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2729 odsState.addTypes(inferredReturnTypes);
2731 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2736 auto tblgen_value = getProperties().value; (void)tblgen_value;
2737 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
2739 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT3(*
this, tblgen_value,
"value")))
2740 return ::mlir::failure();
2742 unsigned index = 0; (void)index;
2745 for (
auto v : valueGroup0) {
2746 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2747 return ::mlir::failure();
2750 return ::mlir::success();
2758 ::llzk::smt::BitVectorAttr valueAttr;
2760 if (parser.parseAttribute(valueAttr, ::mlir::Type{}))
2761 return ::mlir::failure();
2764 auto loc = parser.getCurrentLocation();(void)loc;
2765 if (parser.parseOptionalAttrDict(result.attributes))
2766 return ::mlir::failure();
2768 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
2770 return ::mlir::failure();
2773 ::llvm::SmallVector<::mlir::Type> inferredReturnTypes;
2775 result.location, result.operands,
2776 result.attributes.getDictionary(parser.getContext()),
2777 result.getRawProperties(),
2778 result.regions, inferredReturnTypes)))
2779 return ::mlir::failure();
2780 result.addTypes(inferredReturnTypes);
2781 return ::mlir::success();
2787 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2788 elidedAttrs.push_back(
"value");
2789 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2811 return ::mlir::success();
2814void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2815 odsState.addOperands(lhs);
2816 odsState.addOperands(rhs);
2817 odsState.addTypes(result);
2820void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2821 odsState.addOperands(lhs);
2822 odsState.addOperands(rhs);
2824 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2826 odsState.location, odsState.operands,
2827 odsState.attributes.getDictionary(odsState.getContext()),
2828 odsState.getRawProperties(),
2829 odsState.regions, inferredReturnTypes)))
2830 odsState.addTypes(inferredReturnTypes);
2832 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
2836void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
2837 odsState.addOperands(lhs);
2838 odsState.addOperands(rhs);
2839 assert(resultTypes.size() == 1u &&
"mismatched number of results");
2840 odsState.addTypes(resultTypes);
2843void BVLShrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2844 assert(operands.size() == 2u &&
"mismatched number of parameters");
2845 odsState.addOperands(operands);
2846 odsState.addAttributes(attributes);
2847 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
2848 odsState.addTypes(resultTypes);
2851void BVLShrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
2852 assert(operands.size() == 2u &&
"mismatched number of parameters");
2853 odsState.addOperands(operands);
2854 odsState.addAttributes(attributes);
2856 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2858 odsState.location, operands,
2859 odsState.attributes.getDictionary(odsState.getContext()),
2860 odsState.getRawProperties(),
2861 odsState.regions, inferredReturnTypes))) {
2862 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
2863 odsState.addTypes(inferredReturnTypes);
2865 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
2871 unsigned index = 0; (void)index;
2874 for (
auto v : valueGroup0) {
2875 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2876 return ::mlir::failure();
2880 for (
auto v : valueGroup1) {
2881 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
2882 return ::mlir::failure();
2886 unsigned index = 0; (void)index;
2889 for (
auto v : valueGroup0) {
2890 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
2891 return ::mlir::failure();
2894 return ::mlir::success();
2901::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) {
2902 inferredReturnTypes.resize(1);
2903 ::mlir::Builder odsBuilder(context);
2904 if (operands.size() <= 0)
2905 return ::mlir::failure();
2906 ::mlir::Type odsInferredType0 = operands[0].getType();
2907 inferredReturnTypes[0] = odsInferredType0;
2908 return ::mlir::success();
2911::mlir::ParseResult
BVLShrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
2912 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
2913 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
2914 (void)lhsOperandsLoc;
2915 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
2916 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
2917 (void)rhsOperandsLoc;
2918 ::mlir::Type resultRawType{};
2919 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
2921 lhsOperandsLoc = parser.getCurrentLocation();
2922 if (parser.parseOperand(lhsRawOperand))
2923 return ::mlir::failure();
2924 if (parser.parseComma())
2925 return ::mlir::failure();
2927 rhsOperandsLoc = parser.getCurrentLocation();
2928 if (parser.parseOperand(rhsRawOperand))
2929 return ::mlir::failure();
2931 auto loc = parser.getCurrentLocation();(void)loc;
2932 if (parser.parseOptionalAttrDict(result.attributes))
2933 return ::mlir::failure();
2935 if (parser.parseColon())
2936 return ::mlir::failure();
2938 if (parser.parseType(resultRawType))
2939 return ::mlir::failure();
2940 result.addTypes(resultTypes);
2941 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
2942 return ::mlir::failure();
2943 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
2944 return ::mlir::failure();
2945 return ::mlir::success();
2954 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
2955 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
2956 _odsPrinter <<
' ' <<
":";
2961void BVLShrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
2980 return ::mlir::success();
2983void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
2984 odsState.addOperands(lhs);
2985 odsState.addOperands(rhs);
2986 odsState.addTypes(result);
2989void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
2990 odsState.addOperands(lhs);
2991 odsState.addOperands(rhs);
2993 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
2995 odsState.location, odsState.operands,
2996 odsState.attributes.getDictionary(odsState.getContext()),
2997 odsState.getRawProperties(),
2998 odsState.regions, inferredReturnTypes)))
2999 odsState.addTypes(inferredReturnTypes);
3001 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3005void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3006 odsState.addOperands(lhs);
3007 odsState.addOperands(rhs);
3008 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3009 odsState.addTypes(resultTypes);
3012void BVMulOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3013 assert(operands.size() == 2u &&
"mismatched number of parameters");
3014 odsState.addOperands(operands);
3015 odsState.addAttributes(attributes);
3016 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3017 odsState.addTypes(resultTypes);
3020void BVMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3021 assert(operands.size() == 2u &&
"mismatched number of parameters");
3022 odsState.addOperands(operands);
3023 odsState.addAttributes(attributes);
3025 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3027 odsState.location, operands,
3028 odsState.attributes.getDictionary(odsState.getContext()),
3029 odsState.getRawProperties(),
3030 odsState.regions, inferredReturnTypes))) {
3031 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3032 odsState.addTypes(inferredReturnTypes);
3034 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3040 unsigned index = 0; (void)index;
3043 for (
auto v : valueGroup0) {
3044 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3045 return ::mlir::failure();
3049 for (
auto v : valueGroup1) {
3050 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3051 return ::mlir::failure();
3055 unsigned index = 0; (void)index;
3058 for (
auto v : valueGroup0) {
3059 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3060 return ::mlir::failure();
3063 return ::mlir::success();
3070::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) {
3071 inferredReturnTypes.resize(1);
3072 ::mlir::Builder odsBuilder(context);
3073 if (operands.size() <= 0)
3074 return ::mlir::failure();
3075 ::mlir::Type odsInferredType0 = operands[0].getType();
3076 inferredReturnTypes[0] = odsInferredType0;
3077 return ::mlir::success();
3080::mlir::ParseResult
BVMulOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3081 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3082 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3083 (void)lhsOperandsLoc;
3084 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3085 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3086 (void)rhsOperandsLoc;
3087 ::mlir::Type resultRawType{};
3088 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3090 lhsOperandsLoc = parser.getCurrentLocation();
3091 if (parser.parseOperand(lhsRawOperand))
3092 return ::mlir::failure();
3093 if (parser.parseComma())
3094 return ::mlir::failure();
3096 rhsOperandsLoc = parser.getCurrentLocation();
3097 if (parser.parseOperand(rhsRawOperand))
3098 return ::mlir::failure();
3100 auto loc = parser.getCurrentLocation();(void)loc;
3101 if (parser.parseOptionalAttrDict(result.attributes))
3102 return ::mlir::failure();
3104 if (parser.parseColon())
3105 return ::mlir::failure();
3107 if (parser.parseType(resultRawType))
3108 return ::mlir::failure();
3109 result.addTypes(resultTypes);
3110 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3111 return ::mlir::failure();
3112 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3113 return ::mlir::failure();
3114 return ::mlir::success();
3123 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3124 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3125 _odsPrinter <<
' ' <<
":";
3130void BVMulOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3149 return ::mlir::success();
3152void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
3153 odsState.addOperands(input);
3154 odsState.addTypes(result);
3157void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
3158 odsState.addOperands(input);
3160 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3162 odsState.location, odsState.operands,
3163 odsState.attributes.getDictionary(odsState.getContext()),
3164 odsState.getRawProperties(),
3165 odsState.regions, inferredReturnTypes)))
3166 odsState.addTypes(inferredReturnTypes);
3168 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3172void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
3173 odsState.addOperands(input);
3174 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3175 odsState.addTypes(resultTypes);
3178void BVNegOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3179 assert(operands.size() == 1u &&
"mismatched number of parameters");
3180 odsState.addOperands(operands);
3181 odsState.addAttributes(attributes);
3182 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3183 odsState.addTypes(resultTypes);
3186void BVNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3187 assert(operands.size() == 1u &&
"mismatched number of parameters");
3188 odsState.addOperands(operands);
3189 odsState.addAttributes(attributes);
3191 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3193 odsState.location, operands,
3194 odsState.attributes.getDictionary(odsState.getContext()),
3195 odsState.getRawProperties(),
3196 odsState.regions, inferredReturnTypes))) {
3197 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3198 odsState.addTypes(inferredReturnTypes);
3200 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3206 unsigned index = 0; (void)index;
3209 for (
auto v : valueGroup0) {
3210 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3211 return ::mlir::failure();
3215 unsigned index = 0; (void)index;
3218 for (
auto v : valueGroup0) {
3219 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3220 return ::mlir::failure();
3223 return ::mlir::success();
3230::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) {
3231 inferredReturnTypes.resize(1);
3232 ::mlir::Builder odsBuilder(context);
3233 if (operands.size() <= 0)
3234 return ::mlir::failure();
3235 ::mlir::Type odsInferredType0 = operands[0].getType();
3236 inferredReturnTypes[0] = odsInferredType0;
3237 return ::mlir::success();
3240::mlir::ParseResult
BVNegOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3241 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
3242 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
3243 (void)inputOperandsLoc;
3244 ::mlir::Type resultRawType{};
3245 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3247 inputOperandsLoc = parser.getCurrentLocation();
3248 if (parser.parseOperand(inputRawOperand))
3249 return ::mlir::failure();
3251 auto loc = parser.getCurrentLocation();(void)loc;
3252 if (parser.parseOptionalAttrDict(result.attributes))
3253 return ::mlir::failure();
3255 if (parser.parseColon())
3256 return ::mlir::failure();
3258 if (parser.parseType(resultRawType))
3259 return ::mlir::failure();
3260 result.addTypes(resultTypes);
3261 if (parser.resolveOperands(inputOperands, resultTypes[0], inputOperandsLoc, result.operands))
3262 return ::mlir::failure();
3263 return ::mlir::success();
3269 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3270 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3271 _odsPrinter <<
' ' <<
":";
3276void BVNegOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3295 return ::mlir::success();
3298void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
3299 odsState.addOperands(input);
3300 odsState.addTypes(result);
3303void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
3304 odsState.addOperands(input);
3306 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3308 odsState.location, odsState.operands,
3309 odsState.attributes.getDictionary(odsState.getContext()),
3310 odsState.getRawProperties(),
3311 odsState.regions, inferredReturnTypes)))
3312 odsState.addTypes(inferredReturnTypes);
3314 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3318void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
3319 odsState.addOperands(input);
3320 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3321 odsState.addTypes(resultTypes);
3324void BVNotOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3325 assert(operands.size() == 1u &&
"mismatched number of parameters");
3326 odsState.addOperands(operands);
3327 odsState.addAttributes(attributes);
3328 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3329 odsState.addTypes(resultTypes);
3332void BVNotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3333 assert(operands.size() == 1u &&
"mismatched number of parameters");
3334 odsState.addOperands(operands);
3335 odsState.addAttributes(attributes);
3337 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3339 odsState.location, operands,
3340 odsState.attributes.getDictionary(odsState.getContext()),
3341 odsState.getRawProperties(),
3342 odsState.regions, inferredReturnTypes))) {
3343 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3344 odsState.addTypes(inferredReturnTypes);
3346 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3352 unsigned index = 0; (void)index;
3355 for (
auto v : valueGroup0) {
3356 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3357 return ::mlir::failure();
3361 unsigned index = 0; (void)index;
3364 for (
auto v : valueGroup0) {
3365 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3366 return ::mlir::failure();
3369 return ::mlir::success();
3376::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) {
3377 inferredReturnTypes.resize(1);
3378 ::mlir::Builder odsBuilder(context);
3379 if (operands.size() <= 0)
3380 return ::mlir::failure();
3381 ::mlir::Type odsInferredType0 = operands[0].getType();
3382 inferredReturnTypes[0] = odsInferredType0;
3383 return ::mlir::success();
3386::mlir::ParseResult
BVNotOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3387 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
3388 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
3389 (void)inputOperandsLoc;
3390 ::mlir::Type resultRawType{};
3391 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3393 inputOperandsLoc = parser.getCurrentLocation();
3394 if (parser.parseOperand(inputRawOperand))
3395 return ::mlir::failure();
3397 auto loc = parser.getCurrentLocation();(void)loc;
3398 if (parser.parseOptionalAttrDict(result.attributes))
3399 return ::mlir::failure();
3401 if (parser.parseColon())
3402 return ::mlir::failure();
3404 if (parser.parseType(resultRawType))
3405 return ::mlir::failure();
3406 result.addTypes(resultTypes);
3407 if (parser.resolveOperands(inputOperands, resultTypes[0], inputOperandsLoc, result.operands))
3408 return ::mlir::failure();
3409 return ::mlir::success();
3415 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3416 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3417 _odsPrinter <<
' ' <<
":";
3422void BVNotOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3441 return ::mlir::success();
3444void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3445 odsState.addOperands(lhs);
3446 odsState.addOperands(rhs);
3447 odsState.addTypes(result);
3450void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3451 odsState.addOperands(lhs);
3452 odsState.addOperands(rhs);
3454 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3456 odsState.location, odsState.operands,
3457 odsState.attributes.getDictionary(odsState.getContext()),
3458 odsState.getRawProperties(),
3459 odsState.regions, inferredReturnTypes)))
3460 odsState.addTypes(inferredReturnTypes);
3462 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3466void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3467 odsState.addOperands(lhs);
3468 odsState.addOperands(rhs);
3469 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3470 odsState.addTypes(resultTypes);
3473void BVOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3474 assert(operands.size() == 2u &&
"mismatched number of parameters");
3475 odsState.addOperands(operands);
3476 odsState.addAttributes(attributes);
3477 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3478 odsState.addTypes(resultTypes);
3481void BVOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3482 assert(operands.size() == 2u &&
"mismatched number of parameters");
3483 odsState.addOperands(operands);
3484 odsState.addAttributes(attributes);
3486 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3488 odsState.location, operands,
3489 odsState.attributes.getDictionary(odsState.getContext()),
3490 odsState.getRawProperties(),
3491 odsState.regions, inferredReturnTypes))) {
3492 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3493 odsState.addTypes(inferredReturnTypes);
3495 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3501 unsigned index = 0; (void)index;
3504 for (
auto v : valueGroup0) {
3505 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3506 return ::mlir::failure();
3510 for (
auto v : valueGroup1) {
3511 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3512 return ::mlir::failure();
3516 unsigned index = 0; (void)index;
3519 for (
auto v : valueGroup0) {
3520 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3521 return ::mlir::failure();
3524 return ::mlir::success();
3531::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) {
3532 inferredReturnTypes.resize(1);
3533 ::mlir::Builder odsBuilder(context);
3534 if (operands.size() <= 0)
3535 return ::mlir::failure();
3536 ::mlir::Type odsInferredType0 = operands[0].getType();
3537 inferredReturnTypes[0] = odsInferredType0;
3538 return ::mlir::success();
3541::mlir::ParseResult
BVOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3542 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3543 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3544 (void)lhsOperandsLoc;
3545 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3546 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3547 (void)rhsOperandsLoc;
3548 ::mlir::Type resultRawType{};
3549 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3551 lhsOperandsLoc = parser.getCurrentLocation();
3552 if (parser.parseOperand(lhsRawOperand))
3553 return ::mlir::failure();
3554 if (parser.parseComma())
3555 return ::mlir::failure();
3557 rhsOperandsLoc = parser.getCurrentLocation();
3558 if (parser.parseOperand(rhsRawOperand))
3559 return ::mlir::failure();
3561 auto loc = parser.getCurrentLocation();(void)loc;
3562 if (parser.parseOptionalAttrDict(result.attributes))
3563 return ::mlir::failure();
3565 if (parser.parseColon())
3566 return ::mlir::failure();
3568 if (parser.parseType(resultRawType))
3569 return ::mlir::failure();
3570 result.addTypes(resultTypes);
3571 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3572 return ::mlir::failure();
3573 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3574 return ::mlir::failure();
3575 return ::mlir::success();
3584 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3585 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3586 _odsPrinter <<
' ' <<
":";
3591void BVOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3610 return ::mlir::success();
3613void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3614 odsState.addOperands(lhs);
3615 odsState.addOperands(rhs);
3616 odsState.addTypes(result);
3619void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3620 odsState.addOperands(lhs);
3621 odsState.addOperands(rhs);
3623 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3625 odsState.location, odsState.operands,
3626 odsState.attributes.getDictionary(odsState.getContext()),
3627 odsState.getRawProperties(),
3628 odsState.regions, inferredReturnTypes)))
3629 odsState.addTypes(inferredReturnTypes);
3631 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3635void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3636 odsState.addOperands(lhs);
3637 odsState.addOperands(rhs);
3638 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3639 odsState.addTypes(resultTypes);
3642void BVSDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3643 assert(operands.size() == 2u &&
"mismatched number of parameters");
3644 odsState.addOperands(operands);
3645 odsState.addAttributes(attributes);
3646 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3647 odsState.addTypes(resultTypes);
3650void BVSDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3651 assert(operands.size() == 2u &&
"mismatched number of parameters");
3652 odsState.addOperands(operands);
3653 odsState.addAttributes(attributes);
3655 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3657 odsState.location, operands,
3658 odsState.attributes.getDictionary(odsState.getContext()),
3659 odsState.getRawProperties(),
3660 odsState.regions, inferredReturnTypes))) {
3661 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3662 odsState.addTypes(inferredReturnTypes);
3664 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3670 unsigned index = 0; (void)index;
3673 for (
auto v : valueGroup0) {
3674 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3675 return ::mlir::failure();
3679 for (
auto v : valueGroup1) {
3680 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3681 return ::mlir::failure();
3685 unsigned index = 0; (void)index;
3688 for (
auto v : valueGroup0) {
3689 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3690 return ::mlir::failure();
3693 return ::mlir::success();
3700::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) {
3701 inferredReturnTypes.resize(1);
3702 ::mlir::Builder odsBuilder(context);
3703 if (operands.size() <= 0)
3704 return ::mlir::failure();
3705 ::mlir::Type odsInferredType0 = operands[0].getType();
3706 inferredReturnTypes[0] = odsInferredType0;
3707 return ::mlir::success();
3710::mlir::ParseResult
BVSDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3711 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3712 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3713 (void)lhsOperandsLoc;
3714 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3715 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3716 (void)rhsOperandsLoc;
3717 ::mlir::Type resultRawType{};
3718 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3720 lhsOperandsLoc = parser.getCurrentLocation();
3721 if (parser.parseOperand(lhsRawOperand))
3722 return ::mlir::failure();
3723 if (parser.parseComma())
3724 return ::mlir::failure();
3726 rhsOperandsLoc = parser.getCurrentLocation();
3727 if (parser.parseOperand(rhsRawOperand))
3728 return ::mlir::failure();
3730 auto loc = parser.getCurrentLocation();(void)loc;
3731 if (parser.parseOptionalAttrDict(result.attributes))
3732 return ::mlir::failure();
3734 if (parser.parseColon())
3735 return ::mlir::failure();
3737 if (parser.parseType(resultRawType))
3738 return ::mlir::failure();
3739 result.addTypes(resultTypes);
3740 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3741 return ::mlir::failure();
3742 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3743 return ::mlir::failure();
3744 return ::mlir::success();
3753 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3754 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3755 _odsPrinter <<
' ' <<
":";
3760void BVSDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3779 return ::mlir::success();
3782void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3783 odsState.addOperands(lhs);
3784 odsState.addOperands(rhs);
3785 odsState.addTypes(result);
3788void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3789 odsState.addOperands(lhs);
3790 odsState.addOperands(rhs);
3792 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3794 odsState.location, odsState.operands,
3795 odsState.attributes.getDictionary(odsState.getContext()),
3796 odsState.getRawProperties(),
3797 odsState.regions, inferredReturnTypes)))
3798 odsState.addTypes(inferredReturnTypes);
3800 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3804void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3805 odsState.addOperands(lhs);
3806 odsState.addOperands(rhs);
3807 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3808 odsState.addTypes(resultTypes);
3811void BVSModOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3812 assert(operands.size() == 2u &&
"mismatched number of parameters");
3813 odsState.addOperands(operands);
3814 odsState.addAttributes(attributes);
3815 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3816 odsState.addTypes(resultTypes);
3819void BVSModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3820 assert(operands.size() == 2u &&
"mismatched number of parameters");
3821 odsState.addOperands(operands);
3822 odsState.addAttributes(attributes);
3824 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3826 odsState.location, operands,
3827 odsState.attributes.getDictionary(odsState.getContext()),
3828 odsState.getRawProperties(),
3829 odsState.regions, inferredReturnTypes))) {
3830 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
3831 odsState.addTypes(inferredReturnTypes);
3833 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
3839 unsigned index = 0; (void)index;
3842 for (
auto v : valueGroup0) {
3843 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3844 return ::mlir::failure();
3848 for (
auto v : valueGroup1) {
3849 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
3850 return ::mlir::failure();
3854 unsigned index = 0; (void)index;
3857 for (
auto v : valueGroup0) {
3858 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
3859 return ::mlir::failure();
3862 return ::mlir::success();
3869::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) {
3870 inferredReturnTypes.resize(1);
3871 ::mlir::Builder odsBuilder(context);
3872 if (operands.size() <= 0)
3873 return ::mlir::failure();
3874 ::mlir::Type odsInferredType0 = operands[0].getType();
3875 inferredReturnTypes[0] = odsInferredType0;
3876 return ::mlir::success();
3879::mlir::ParseResult
BVSModOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
3880 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
3881 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
3882 (void)lhsOperandsLoc;
3883 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
3884 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
3885 (void)rhsOperandsLoc;
3886 ::mlir::Type resultRawType{};
3887 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
3889 lhsOperandsLoc = parser.getCurrentLocation();
3890 if (parser.parseOperand(lhsRawOperand))
3891 return ::mlir::failure();
3892 if (parser.parseComma())
3893 return ::mlir::failure();
3895 rhsOperandsLoc = parser.getCurrentLocation();
3896 if (parser.parseOperand(rhsRawOperand))
3897 return ::mlir::failure();
3899 auto loc = parser.getCurrentLocation();(void)loc;
3900 if (parser.parseOptionalAttrDict(result.attributes))
3901 return ::mlir::failure();
3903 if (parser.parseColon())
3904 return ::mlir::failure();
3906 if (parser.parseType(resultRawType))
3907 return ::mlir::failure();
3908 result.addTypes(resultTypes);
3909 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
3910 return ::mlir::failure();
3911 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
3912 return ::mlir::failure();
3913 return ::mlir::success();
3922 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
3923 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
3924 _odsPrinter <<
' ' <<
":";
3929void BVSModOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
3948 return ::mlir::success();
3951void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
3952 odsState.addOperands(lhs);
3953 odsState.addOperands(rhs);
3954 odsState.addTypes(result);
3957void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
3958 odsState.addOperands(lhs);
3959 odsState.addOperands(rhs);
3961 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3963 odsState.location, odsState.operands,
3964 odsState.attributes.getDictionary(odsState.getContext()),
3965 odsState.getRawProperties(),
3966 odsState.regions, inferredReturnTypes)))
3967 odsState.addTypes(inferredReturnTypes);
3969 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
3973void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
3974 odsState.addOperands(lhs);
3975 odsState.addOperands(rhs);
3976 assert(resultTypes.size() == 1u &&
"mismatched number of results");
3977 odsState.addTypes(resultTypes);
3980void BVSRemOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3981 assert(operands.size() == 2u &&
"mismatched number of parameters");
3982 odsState.addOperands(operands);
3983 odsState.addAttributes(attributes);
3984 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
3985 odsState.addTypes(resultTypes);
3988void BVSRemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
3989 assert(operands.size() == 2u &&
"mismatched number of parameters");
3990 odsState.addOperands(operands);
3991 odsState.addAttributes(attributes);
3993 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
3995 odsState.location, operands,
3996 odsState.attributes.getDictionary(odsState.getContext()),
3997 odsState.getRawProperties(),
3998 odsState.regions, inferredReturnTypes))) {
3999 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4000 odsState.addTypes(inferredReturnTypes);
4002 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4008 unsigned index = 0; (void)index;
4011 for (
auto v : valueGroup0) {
4012 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4013 return ::mlir::failure();
4017 for (
auto v : valueGroup1) {
4018 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4019 return ::mlir::failure();
4023 unsigned index = 0; (void)index;
4026 for (
auto v : valueGroup0) {
4027 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4028 return ::mlir::failure();
4031 return ::mlir::success();
4038::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) {
4039 inferredReturnTypes.resize(1);
4040 ::mlir::Builder odsBuilder(context);
4041 if (operands.size() <= 0)
4042 return ::mlir::failure();
4043 ::mlir::Type odsInferredType0 = operands[0].getType();
4044 inferredReturnTypes[0] = odsInferredType0;
4045 return ::mlir::success();
4048::mlir::ParseResult
BVSRemOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4049 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4050 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4051 (void)lhsOperandsLoc;
4052 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4053 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4054 (void)rhsOperandsLoc;
4055 ::mlir::Type resultRawType{};
4056 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4058 lhsOperandsLoc = parser.getCurrentLocation();
4059 if (parser.parseOperand(lhsRawOperand))
4060 return ::mlir::failure();
4061 if (parser.parseComma())
4062 return ::mlir::failure();
4064 rhsOperandsLoc = parser.getCurrentLocation();
4065 if (parser.parseOperand(rhsRawOperand))
4066 return ::mlir::failure();
4068 auto loc = parser.getCurrentLocation();(void)loc;
4069 if (parser.parseOptionalAttrDict(result.attributes))
4070 return ::mlir::failure();
4072 if (parser.parseColon())
4073 return ::mlir::failure();
4075 if (parser.parseType(resultRawType))
4076 return ::mlir::failure();
4077 result.addTypes(resultTypes);
4078 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4079 return ::mlir::failure();
4080 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4081 return ::mlir::failure();
4082 return ::mlir::success();
4091 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4092 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4093 _odsPrinter <<
' ' <<
":";
4098void BVSRemOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4117 return ::mlir::success();
4120void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4121 odsState.addOperands(lhs);
4122 odsState.addOperands(rhs);
4123 odsState.addTypes(result);
4126void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4127 odsState.addOperands(lhs);
4128 odsState.addOperands(rhs);
4130 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4132 odsState.location, odsState.operands,
4133 odsState.attributes.getDictionary(odsState.getContext()),
4134 odsState.getRawProperties(),
4135 odsState.regions, inferredReturnTypes)))
4136 odsState.addTypes(inferredReturnTypes);
4138 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4142void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4143 odsState.addOperands(lhs);
4144 odsState.addOperands(rhs);
4145 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4146 odsState.addTypes(resultTypes);
4149void BVShlOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4150 assert(operands.size() == 2u &&
"mismatched number of parameters");
4151 odsState.addOperands(operands);
4152 odsState.addAttributes(attributes);
4153 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4154 odsState.addTypes(resultTypes);
4157void BVShlOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4158 assert(operands.size() == 2u &&
"mismatched number of parameters");
4159 odsState.addOperands(operands);
4160 odsState.addAttributes(attributes);
4162 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4164 odsState.location, operands,
4165 odsState.attributes.getDictionary(odsState.getContext()),
4166 odsState.getRawProperties(),
4167 odsState.regions, inferredReturnTypes))) {
4168 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4169 odsState.addTypes(inferredReturnTypes);
4171 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4177 unsigned index = 0; (void)index;
4180 for (
auto v : valueGroup0) {
4181 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4182 return ::mlir::failure();
4186 for (
auto v : valueGroup1) {
4187 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4188 return ::mlir::failure();
4192 unsigned index = 0; (void)index;
4195 for (
auto v : valueGroup0) {
4196 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4197 return ::mlir::failure();
4200 return ::mlir::success();
4207::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) {
4208 inferredReturnTypes.resize(1);
4209 ::mlir::Builder odsBuilder(context);
4210 if (operands.size() <= 0)
4211 return ::mlir::failure();
4212 ::mlir::Type odsInferredType0 = operands[0].getType();
4213 inferredReturnTypes[0] = odsInferredType0;
4214 return ::mlir::success();
4217::mlir::ParseResult
BVShlOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4218 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4219 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4220 (void)lhsOperandsLoc;
4221 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4222 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4223 (void)rhsOperandsLoc;
4224 ::mlir::Type resultRawType{};
4225 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4227 lhsOperandsLoc = parser.getCurrentLocation();
4228 if (parser.parseOperand(lhsRawOperand))
4229 return ::mlir::failure();
4230 if (parser.parseComma())
4231 return ::mlir::failure();
4233 rhsOperandsLoc = parser.getCurrentLocation();
4234 if (parser.parseOperand(rhsRawOperand))
4235 return ::mlir::failure();
4237 auto loc = parser.getCurrentLocation();(void)loc;
4238 if (parser.parseOptionalAttrDict(result.attributes))
4239 return ::mlir::failure();
4241 if (parser.parseColon())
4242 return ::mlir::failure();
4244 if (parser.parseType(resultRawType))
4245 return ::mlir::failure();
4246 result.addTypes(resultTypes);
4247 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4248 return ::mlir::failure();
4249 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4250 return ::mlir::failure();
4251 return ::mlir::success();
4260 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4261 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4262 _odsPrinter <<
' ' <<
":";
4267void BVShlOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4286 return ::mlir::success();
4289void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4290 odsState.addOperands(lhs);
4291 odsState.addOperands(rhs);
4292 odsState.addTypes(result);
4295void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4296 odsState.addOperands(lhs);
4297 odsState.addOperands(rhs);
4299 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4301 odsState.location, odsState.operands,
4302 odsState.attributes.getDictionary(odsState.getContext()),
4303 odsState.getRawProperties(),
4304 odsState.regions, inferredReturnTypes)))
4305 odsState.addTypes(inferredReturnTypes);
4307 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4311void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4312 odsState.addOperands(lhs);
4313 odsState.addOperands(rhs);
4314 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4315 odsState.addTypes(resultTypes);
4318void BVUDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4319 assert(operands.size() == 2u &&
"mismatched number of parameters");
4320 odsState.addOperands(operands);
4321 odsState.addAttributes(attributes);
4322 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4323 odsState.addTypes(resultTypes);
4326void BVUDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4327 assert(operands.size() == 2u &&
"mismatched number of parameters");
4328 odsState.addOperands(operands);
4329 odsState.addAttributes(attributes);
4331 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4333 odsState.location, operands,
4334 odsState.attributes.getDictionary(odsState.getContext()),
4335 odsState.getRawProperties(),
4336 odsState.regions, inferredReturnTypes))) {
4337 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4338 odsState.addTypes(inferredReturnTypes);
4340 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4346 unsigned index = 0; (void)index;
4349 for (
auto v : valueGroup0) {
4350 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4351 return ::mlir::failure();
4355 for (
auto v : valueGroup1) {
4356 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4357 return ::mlir::failure();
4361 unsigned index = 0; (void)index;
4364 for (
auto v : valueGroup0) {
4365 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4366 return ::mlir::failure();
4369 return ::mlir::success();
4376::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) {
4377 inferredReturnTypes.resize(1);
4378 ::mlir::Builder odsBuilder(context);
4379 if (operands.size() <= 0)
4380 return ::mlir::failure();
4381 ::mlir::Type odsInferredType0 = operands[0].getType();
4382 inferredReturnTypes[0] = odsInferredType0;
4383 return ::mlir::success();
4386::mlir::ParseResult
BVUDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4387 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4388 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4389 (void)lhsOperandsLoc;
4390 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4391 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4392 (void)rhsOperandsLoc;
4393 ::mlir::Type resultRawType{};
4394 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4396 lhsOperandsLoc = parser.getCurrentLocation();
4397 if (parser.parseOperand(lhsRawOperand))
4398 return ::mlir::failure();
4399 if (parser.parseComma())
4400 return ::mlir::failure();
4402 rhsOperandsLoc = parser.getCurrentLocation();
4403 if (parser.parseOperand(rhsRawOperand))
4404 return ::mlir::failure();
4406 auto loc = parser.getCurrentLocation();(void)loc;
4407 if (parser.parseOptionalAttrDict(result.attributes))
4408 return ::mlir::failure();
4410 if (parser.parseColon())
4411 return ::mlir::failure();
4413 if (parser.parseType(resultRawType))
4414 return ::mlir::failure();
4415 result.addTypes(resultTypes);
4416 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4417 return ::mlir::failure();
4418 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4419 return ::mlir::failure();
4420 return ::mlir::success();
4429 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4430 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4431 _odsPrinter <<
' ' <<
":";
4436void BVUDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4455 return ::mlir::success();
4458void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4459 odsState.addOperands(lhs);
4460 odsState.addOperands(rhs);
4461 odsState.addTypes(result);
4464void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4465 odsState.addOperands(lhs);
4466 odsState.addOperands(rhs);
4468 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4470 odsState.location, odsState.operands,
4471 odsState.attributes.getDictionary(odsState.getContext()),
4472 odsState.getRawProperties(),
4473 odsState.regions, inferredReturnTypes)))
4474 odsState.addTypes(inferredReturnTypes);
4476 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4480void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4481 odsState.addOperands(lhs);
4482 odsState.addOperands(rhs);
4483 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4484 odsState.addTypes(resultTypes);
4487void BVURemOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4488 assert(operands.size() == 2u &&
"mismatched number of parameters");
4489 odsState.addOperands(operands);
4490 odsState.addAttributes(attributes);
4491 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4492 odsState.addTypes(resultTypes);
4495void BVURemOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4496 assert(operands.size() == 2u &&
"mismatched number of parameters");
4497 odsState.addOperands(operands);
4498 odsState.addAttributes(attributes);
4500 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4502 odsState.location, operands,
4503 odsState.attributes.getDictionary(odsState.getContext()),
4504 odsState.getRawProperties(),
4505 odsState.regions, inferredReturnTypes))) {
4506 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4507 odsState.addTypes(inferredReturnTypes);
4509 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4515 unsigned index = 0; (void)index;
4518 for (
auto v : valueGroup0) {
4519 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4520 return ::mlir::failure();
4524 for (
auto v : valueGroup1) {
4525 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4526 return ::mlir::failure();
4530 unsigned index = 0; (void)index;
4533 for (
auto v : valueGroup0) {
4534 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4535 return ::mlir::failure();
4538 return ::mlir::success();
4545::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) {
4546 inferredReturnTypes.resize(1);
4547 ::mlir::Builder odsBuilder(context);
4548 if (operands.size() <= 0)
4549 return ::mlir::failure();
4550 ::mlir::Type odsInferredType0 = operands[0].getType();
4551 inferredReturnTypes[0] = odsInferredType0;
4552 return ::mlir::success();
4555::mlir::ParseResult
BVURemOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4556 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4557 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4558 (void)lhsOperandsLoc;
4559 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4560 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4561 (void)rhsOperandsLoc;
4562 ::mlir::Type resultRawType{};
4563 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4565 lhsOperandsLoc = parser.getCurrentLocation();
4566 if (parser.parseOperand(lhsRawOperand))
4567 return ::mlir::failure();
4568 if (parser.parseComma())
4569 return ::mlir::failure();
4571 rhsOperandsLoc = parser.getCurrentLocation();
4572 if (parser.parseOperand(rhsRawOperand))
4573 return ::mlir::failure();
4575 auto loc = parser.getCurrentLocation();(void)loc;
4576 if (parser.parseOptionalAttrDict(result.attributes))
4577 return ::mlir::failure();
4579 if (parser.parseColon())
4580 return ::mlir::failure();
4582 if (parser.parseType(resultRawType))
4583 return ::mlir::failure();
4584 result.addTypes(resultTypes);
4585 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4586 return ::mlir::failure();
4587 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4588 return ::mlir::failure();
4589 return ::mlir::success();
4598 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4599 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4600 _odsPrinter <<
' ' <<
":";
4605void BVURemOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4624 return ::mlir::success();
4627void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
4628 odsState.addOperands(lhs);
4629 odsState.addOperands(rhs);
4630 odsState.addTypes(result);
4633void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
4634 odsState.addOperands(lhs);
4635 odsState.addOperands(rhs);
4637 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4639 odsState.location, odsState.operands,
4640 odsState.attributes.getDictionary(odsState.getContext()),
4641 odsState.getRawProperties(),
4642 odsState.regions, inferredReturnTypes)))
4643 odsState.addTypes(inferredReturnTypes);
4645 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4649void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
4650 odsState.addOperands(lhs);
4651 odsState.addOperands(rhs);
4652 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4653 odsState.addTypes(resultTypes);
4656void BVXOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4657 assert(operands.size() == 2u &&
"mismatched number of parameters");
4658 odsState.addOperands(operands);
4659 odsState.addAttributes(attributes);
4660 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4661 odsState.addTypes(resultTypes);
4664void BVXOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4665 assert(operands.size() == 2u &&
"mismatched number of parameters");
4666 odsState.addOperands(operands);
4667 odsState.addAttributes(attributes);
4669 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4671 odsState.location, operands,
4672 odsState.attributes.getDictionary(odsState.getContext()),
4673 odsState.getRawProperties(),
4674 odsState.regions, inferredReturnTypes))) {
4675 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4676 odsState.addTypes(inferredReturnTypes);
4678 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4684 unsigned index = 0; (void)index;
4687 for (
auto v : valueGroup0) {
4688 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4689 return ::mlir::failure();
4693 for (
auto v : valueGroup1) {
4694 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
4695 return ::mlir::failure();
4699 unsigned index = 0; (void)index;
4702 for (
auto v : valueGroup0) {
4703 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
4704 return ::mlir::failure();
4707 return ::mlir::success();
4714::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) {
4715 inferredReturnTypes.resize(1);
4716 ::mlir::Builder odsBuilder(context);
4717 if (operands.size() <= 0)
4718 return ::mlir::failure();
4719 ::mlir::Type odsInferredType0 = operands[0].getType();
4720 inferredReturnTypes[0] = odsInferredType0;
4721 return ::mlir::success();
4724::mlir::ParseResult
BVXOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
4725 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
4726 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
4727 (void)lhsOperandsLoc;
4728 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
4729 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
4730 (void)rhsOperandsLoc;
4731 ::mlir::Type resultRawType{};
4732 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
4734 lhsOperandsLoc = parser.getCurrentLocation();
4735 if (parser.parseOperand(lhsRawOperand))
4736 return ::mlir::failure();
4737 if (parser.parseComma())
4738 return ::mlir::failure();
4740 rhsOperandsLoc = parser.getCurrentLocation();
4741 if (parser.parseOperand(rhsRawOperand))
4742 return ::mlir::failure();
4744 auto loc = parser.getCurrentLocation();(void)loc;
4745 if (parser.parseOptionalAttrDict(result.attributes))
4746 return ::mlir::failure();
4748 if (parser.parseColon())
4749 return ::mlir::failure();
4751 if (parser.parseType(resultRawType))
4752 return ::mlir::failure();
4753 result.addTypes(resultTypes);
4754 if (parser.resolveOperands(lhsOperands, resultTypes[0], lhsOperandsLoc, result.operands))
4755 return ::mlir::failure();
4756 if (parser.resolveOperands(rhsOperands, resultTypes[0], rhsOperandsLoc, result.operands))
4757 return ::mlir::failure();
4758 return ::mlir::success();
4767 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
4768 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
4769 _odsPrinter <<
' ' <<
":";
4774void BVXOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
4793 return attr.getValue();
4801 if (!tblgen_value)
return emitError(loc,
"'smt.constant' op ""requires attribute 'value'");
4803 if (tblgen_value && !((::llvm::isa<::mlir::BoolAttr>(tblgen_value))))
4804 return emitError(loc,
"'smt.constant' op ""attribute 'value' failed to satisfy constraint: bool attribute");
4805 return ::mlir::success();
4809 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
4811 emitError() <<
"expected DictionaryAttr to set properties";
4812 return ::mlir::failure();
4816 auto &propStorage = prop.
value;
4817 auto attr = dict.get(
"value");
4819 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
4820 if (convertedAttr) {
4821 propStorage = convertedAttr;
4823 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
4824 return ::mlir::failure();
4828 return ::mlir::success();
4832 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
4833 ::mlir::Builder odsBuilder{ctx};
4836 const auto &propStorage = prop.
value;
4838 attrs.push_back(odsBuilder.getNamedAttr(
"value",
4843 return odsBuilder.getDictionaryAttr(attrs);
4848 return llvm::hash_combine(
4849 llvm::hash_value(prop.
value.getAsOpaquePointer()));
4853 if (name ==
"value")
4855 return std::nullopt;
4859 if (name ==
"value") {
4860 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
4866 if (prop.
value) attrs.append(
"value", prop.
value);
4872 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT4(attr,
"value", emitError)))
4873 return ::mlir::failure();
4875 return ::mlir::success();
4879 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
4880 if (::mlir::failed(reader.readAttribute(prop.
value)))
4881 return ::mlir::failure();
4882 return ::mlir::success();
4886 auto &prop = getProperties(); (void)prop;
4887 writer.writeAttribute(prop.
value);
4892 return attr.getValue();
4896 getProperties().value = ::mlir::Builder((*this)->getContext()).getBoolAttr(attrValue);
4899void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value) {
4900 odsState.getOrAddProperties<
Properties>().value = value;
4901 odsState.addTypes(result);
4905 odsState.getOrAddProperties<
Properties>().value = value;
4907 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4909 odsState.location, odsState.operands,
4910 odsState.attributes.getDictionary(odsState.getContext()),
4911 odsState.getRawProperties(),
4912 odsState.regions, inferredReturnTypes)))
4913 odsState.addTypes(inferredReturnTypes);
4915 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4919void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::BoolAttr value) {
4920 odsState.getOrAddProperties<
Properties>().value = value;
4921 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4922 odsState.addTypes(resultTypes);
4925void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
bool value) {
4926 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4927 odsState.addTypes(result);
4931 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4933 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4935 odsState.location, odsState.operands,
4936 odsState.attributes.getDictionary(odsState.getContext()),
4937 odsState.getRawProperties(),
4938 odsState.regions, inferredReturnTypes)))
4939 odsState.addTypes(inferredReturnTypes);
4941 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
4945void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
bool value) {
4946 odsState.getOrAddProperties<
Properties>().value = odsBuilder.getBoolAttr(value);
4947 assert(resultTypes.size() == 1u &&
"mismatched number of results");
4948 odsState.addTypes(resultTypes);
4951void BoolConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4952 assert(operands.size() == 0u &&
"mismatched number of parameters");
4953 odsState.addOperands(operands);
4954 odsState.addAttributes(attributes);
4955 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
4956 odsState.addTypes(resultTypes);
4958 if (!attributes.empty()) {
4959 ::mlir::OpaqueProperties properties =
4961 std::optional<::mlir::RegisteredOperationName> info =
4962 odsState.name.getRegisteredInfo();
4963 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
4964 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
4965 ::llvm::report_fatal_error(
"Property conversion failed.");
4969void BoolConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
4970 assert(operands.size() == 0u &&
"mismatched number of parameters");
4971 odsState.addOperands(operands);
4972 odsState.addAttributes(attributes);
4974 if (!attributes.empty()) {
4975 ::mlir::OpaqueProperties properties =
4977 std::optional<::mlir::RegisteredOperationName> info =
4978 odsState.name.getRegisteredInfo();
4979 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
4980 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
4981 ::llvm::report_fatal_error(
"Property conversion failed.");
4983 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
4985 odsState.location, operands,
4986 odsState.attributes.getDictionary(odsState.getContext()),
4987 odsState.getRawProperties(),
4988 odsState.regions, inferredReturnTypes))) {
4989 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
4990 odsState.addTypes(inferredReturnTypes);
4992 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
4997 auto tblgen_value = getProperties().value; (void)tblgen_value;
4998 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
5000 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT4(*
this, tblgen_value,
"value")))
5001 return ::mlir::failure();
5003 unsigned index = 0; (void)index;
5006 for (
auto v : valueGroup0) {
5007 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5008 return ::mlir::failure();
5011 return ::mlir::success();
5018::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) {
5019 inferredReturnTypes.resize(1);
5020 ::mlir::Builder odsBuilder(context);
5022 inferredReturnTypes[0] = odsInferredType0;
5023 return ::mlir::success();
5027 ::mlir::BoolAttr valueAttr;
5029 if (parser.parseCustomAttributeWithFallback(valueAttr, parser.getBuilder().getIntegerType(1))) {
5030 return ::mlir::failure();
5034 auto loc = parser.getCurrentLocation();(void)loc;
5035 if (parser.parseOptionalAttrDict(result.attributes))
5036 return ::mlir::failure();
5038 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
5040 return ::mlir::failure();
5043 result.addTypes(odsBuildableType0);
5044 return ::mlir::success();
5050 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5051 elidedAttrs.push_back(
"value");
5052 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5074 return ::mlir::success();
5078 bool isVariadic[] = {
true};
5079 int prevVariadicCount = 0;
5080 for (
unsigned i = 0; i < index; ++i)
5081 if (isVariadic[i]) ++prevVariadicCount;
5085 int variadicSize = (getOperation()->getNumResults() - 0) / 1;
5090 int start = index + (variadicSize - 1) * prevVariadicCount;
5091 int size = isVariadic[index] ? variadicSize : 1;
5092 return {start, size};
5095void CheckOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results) {
5096 (void)odsState.addRegion();
5097 (void)odsState.addRegion();
5098 (void)odsState.addRegion();
5099 odsState.addTypes(results);
5102void CheckOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5103 assert(operands.size() == 0u &&
"mismatched number of parameters");
5104 odsState.addOperands(operands);
5105 odsState.addAttributes(attributes);
5106 for (
unsigned i = 0; i != 3; ++i)
5107 (
void)odsState.addRegion();
5108 odsState.addTypes(resultTypes);
5113 unsigned index = 0; (void)index;
5116 for (
auto v : valueGroup0) {
5117 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT10(*
this, v.getType(),
"result", index++)))
5118 return ::mlir::failure();
5122 unsigned index = 0; (void)index;
5124 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
5125 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"satRegion", index++)))
5126 return ::mlir::failure();
5128 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(1)))
5129 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"unknownRegion", index++)))
5130 return ::mlir::failure();
5132 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(2)))
5133 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"unsatRegion", index++)))
5134 return ::mlir::failure();
5136 return ::mlir::success();
5143::mlir::ParseResult
CheckOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
5144 std::unique_ptr<::mlir::Region> satRegionRegion = std::make_unique<::mlir::Region>();
5145 std::unique_ptr<::mlir::Region> unknownRegionRegion = std::make_unique<::mlir::Region>();
5146 std::unique_ptr<::mlir::Region> unsatRegionRegion = std::make_unique<::mlir::Region>();
5147 ::llvm::SmallVector<::mlir::Type, 1> resultsTypes;
5149 auto loc = parser.getCurrentLocation();(void)loc;
5150 if (parser.parseOptionalAttrDict(result.attributes))
5151 return ::mlir::failure();
5153 if (parser.parseKeyword(
"sat"))
5154 return ::mlir::failure();
5156 if (parser.parseRegion(*satRegionRegion))
5157 return ::mlir::failure();
5159 ensureTerminator(*satRegionRegion, parser.getBuilder(), result.location);
5160 if (parser.parseKeyword(
"unknown"))
5161 return ::mlir::failure();
5163 if (parser.parseRegion(*unknownRegionRegion))
5164 return ::mlir::failure();
5166 ensureTerminator(*unknownRegionRegion, parser.getBuilder(), result.location);
5167 if (parser.parseKeyword(
"unsat"))
5168 return ::mlir::failure();
5170 if (parser.parseRegion(*unsatRegionRegion))
5171 return ::mlir::failure();
5173 ensureTerminator(*unsatRegionRegion, parser.getBuilder(), result.location);
5174 if (::mlir::succeeded(parser.parseOptionalArrow())) {
5176 if (parser.parseTypeList(resultsTypes))
5177 return ::mlir::failure();
5179 result.addRegion(std::move(satRegionRegion));
5180 result.addRegion(std::move(unknownRegionRegion));
5181 result.addRegion(std::move(unsatRegionRegion));
5182 result.addTypes(resultsTypes);
5183 return ::mlir::success();
5187 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5188 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5189 _odsPrinter <<
' ' <<
"sat";
5193 bool printTerminator =
true;
5195 printTerminator = !term->getAttrDictionary().empty() ||
5196 term->getNumOperands() != 0 ||
5197 term->getNumResults() != 0;
5202 _odsPrinter <<
' ' <<
"unknown";
5206 bool printTerminator =
true;
5208 printTerminator = !term->getAttrDictionary().empty() ||
5209 term->getNumOperands() != 0 ||
5210 term->getNumResults() != 0;
5215 _odsPrinter <<
' ' <<
"unsat";
5219 bool printTerminator =
true;
5221 printTerminator = !term->getAttrDictionary().empty() ||
5222 term->getNumOperands() != 0 ||
5223 term->getNumResults() != 0;
5229 _odsPrinter <<
' ' <<
"->";
5251 return ::mlir::success();
5254void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
5255 odsState.addOperands(lhs);
5256 odsState.addOperands(rhs);
5257 odsState.addTypes(result);
5260void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
5261 odsState.addOperands(lhs);
5262 odsState.addOperands(rhs);
5264 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5266 odsState.location, odsState.operands,
5267 odsState.attributes.getDictionary(odsState.getContext()),
5268 odsState.getRawProperties(),
5269 odsState.regions, inferredReturnTypes)))
5270 odsState.addTypes(inferredReturnTypes);
5272 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
5276void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
5277 odsState.addOperands(lhs);
5278 odsState.addOperands(rhs);
5279 assert(resultTypes.size() == 1u &&
"mismatched number of results");
5280 odsState.addTypes(resultTypes);
5283void ConcatOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5284 assert(operands.size() == 2u &&
"mismatched number of parameters");
5285 odsState.addOperands(operands);
5286 odsState.addAttributes(attributes);
5287 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5288 odsState.addTypes(resultTypes);
5291void ConcatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5292 assert(operands.size() == 2u &&
"mismatched number of parameters");
5293 odsState.addOperands(operands);
5294 odsState.addAttributes(attributes);
5296 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5298 odsState.location, operands,
5299 odsState.attributes.getDictionary(odsState.getContext()),
5300 odsState.getRawProperties(),
5301 odsState.regions, inferredReturnTypes))) {
5302 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5303 odsState.addTypes(inferredReturnTypes);
5305 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5311 unsigned index = 0; (void)index;
5314 for (
auto v : valueGroup0) {
5315 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
5316 return ::mlir::failure();
5320 for (
auto v : valueGroup1) {
5321 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
5322 return ::mlir::failure();
5326 unsigned index = 0; (void)index;
5329 for (
auto v : valueGroup0) {
5330 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
5331 return ::mlir::failure();
5334 return ::mlir::success();
5341::mlir::ParseResult
ConcatOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
5342 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
5343 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
5344 (void)lhsOperandsLoc;
5345 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
5346 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
5347 (void)rhsOperandsLoc;
5348 ::llvm::SmallVector<::mlir::Type, 1> allOperandTypes;
5350 lhsOperandsLoc = parser.getCurrentLocation();
5351 if (parser.parseOperand(lhsRawOperand))
5352 return ::mlir::failure();
5353 if (parser.parseComma())
5354 return ::mlir::failure();
5356 rhsOperandsLoc = parser.getCurrentLocation();
5357 if (parser.parseOperand(rhsRawOperand))
5358 return ::mlir::failure();
5360 auto loc = parser.getCurrentLocation();(void)loc;
5361 if (parser.parseOptionalAttrDict(result.attributes))
5362 return ::mlir::failure();
5364 if (parser.parseColon())
5365 return ::mlir::failure();
5367 if (parser.parseTypeList(allOperandTypes))
5368 return ::mlir::failure();
5369 if (parser.resolveOperands(::llvm::concat<const ::mlir::OpAsmParser::UnresolvedOperand>(lhsOperands, rhsOperands), allOperandTypes, parser.getNameLoc(), result.operands))
5370 return ::mlir::failure();
5372 ::llvm::SmallVector<::mlir::Type> inferredReturnTypes;
5374 result.location, result.operands,
5375 result.attributes.getDictionary(parser.getContext()),
5376 result.getRawProperties(),
5377 result.regions, inferredReturnTypes)))
5378 return ::mlir::failure();
5379 result.addTypes(inferredReturnTypes);
5380 return ::mlir::success();
5389 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5390 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5391 _odsPrinter <<
' ' <<
":";
5393 _odsPrinter << getOperation()->getOperandTypes();
5396void ConcatOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5415 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
5424 if (tblgen_namePrefix && !((::llvm::isa<::mlir::StringAttr>(tblgen_namePrefix))))
5425 return emitError(loc,
"'smt.declare_fun' op ""attribute 'namePrefix' failed to satisfy constraint: string attribute");
5426 return ::mlir::success();
5430 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
5432 emitError() <<
"expected DictionaryAttr to set properties";
5433 return ::mlir::failure();
5438 auto attr = dict.get(
"namePrefix");
5440 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
5441 if (convertedAttr) {
5442 propStorage = convertedAttr;
5444 emitError() <<
"Invalid attribute `namePrefix` in property conversion: " << attr;
5445 return ::mlir::failure();
5449 return ::mlir::success();
5453 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
5454 ::mlir::Builder odsBuilder{ctx};
5459 attrs.push_back(odsBuilder.getNamedAttr(
"namePrefix",
5464 return odsBuilder.getDictionaryAttr(attrs);
5469 return llvm::hash_combine(
5470 llvm::hash_value(prop.
namePrefix.getAsOpaquePointer()));
5474 if (name ==
"namePrefix")
5476 return std::nullopt;
5480 if (name ==
"namePrefix") {
5481 prop.
namePrefix = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
namePrefix)>>(value);
5493 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(attr,
"namePrefix", emitError)))
5494 return ::mlir::failure();
5496 return ::mlir::success();
5500 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
5501 if (::mlir::failed(reader.readOptionalAttribute(prop.
namePrefix)))
5502 return ::mlir::failure();
5503 return ::mlir::success();
5507 auto &prop = getProperties(); (void)prop;
5509 writer.writeOptionalAttribute(prop.
namePrefix);
5514 return attr ? ::std::optional< ::llvm::StringRef >(attr.getValue()) : (::std::nullopt);
5518 auto &odsProp = getProperties().namePrefix;
5520 odsProp = ::mlir::Builder((*this)->getContext()).getStringAttr(*attrValue);
5526 build(odsBuilder, odsState, type,
nullptr);
5530void DeclareFunOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::StringAttr namePrefix) {
5532 odsState.getOrAddProperties<
Properties>().namePrefix = namePrefix;
5534 odsState.addTypes(result);
5537void DeclareFunOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr namePrefix) {
5539 odsState.getOrAddProperties<
Properties>().namePrefix = namePrefix;
5541 assert(resultTypes.size() == 1u &&
"mismatched number of results");
5542 odsState.addTypes(resultTypes);
5545void DeclareFunOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5546 assert(operands.size() == 0u &&
"mismatched number of parameters");
5547 odsState.addOperands(operands);
5548 odsState.addAttributes(attributes);
5549 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5550 odsState.addTypes(resultTypes);
5552 if (!attributes.empty()) {
5553 ::mlir::OpaqueProperties properties =
5555 std::optional<::mlir::RegisteredOperationName> info =
5556 odsState.name.getRegisteredInfo();
5557 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
5558 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
5559 ::llvm::report_fatal_error(
"Property conversion failed.");
5564 auto tblgen_namePrefix = getProperties().namePrefix; (void)tblgen_namePrefix;
5566 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(*
this, tblgen_namePrefix,
"namePrefix")))
5567 return ::mlir::failure();
5569 unsigned index = 0; (void)index;
5572 for (
auto v : valueGroup0) {
5573 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
5574 return ::mlir::failure();
5577 return ::mlir::success();
5585 ::mlir::StringAttr namePrefixAttr;
5586 ::mlir::Type resultRawType{};
5587 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
5589 ::mlir::OptionalParseResult parseResultnamePrefixAttr =
5590 parser.parseOptionalAttribute(namePrefixAttr, parser.getBuilder().getType<::mlir::NoneType>());
5591 if (parseResultnamePrefixAttr.has_value() && failed(*parseResultnamePrefixAttr))
5592 return ::mlir::failure();
5593 if (parseResultnamePrefixAttr.has_value() && succeeded(*parseResultnamePrefixAttr))
5595 if (namePrefixAttr) {
5598 auto loc = parser.getCurrentLocation();(void)loc;
5599 if (parser.parseOptionalAttrDict(result.attributes))
5600 return ::mlir::failure();
5602 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
5604 return ::mlir::failure();
5606 if (parser.parseColon())
5607 return ::mlir::failure();
5609 if (parser.parseType(resultRawType))
5610 return ::mlir::failure();
5611 result.addTypes(resultTypes);
5612 return ::mlir::success();
5620 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
5621 elidedAttrs.push_back(
"namePrefix");
5622 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
5623 _odsPrinter <<
' ' <<
":";
5631 for (
unsigned idx = valueRange.first; idx < valueRange.first + valueRange.second; idx++) {
5632 effects.emplace_back(::mlir::MemoryEffects::Allocate::get(), getOperation()->getOpResult(idx), 0,
false, ::mlir::SideEffects::DefaultResource::get());
5650 bool isVariadic[] = {
true};
5651 int prevVariadicCount = 0;
5652 for (
unsigned i = 0; i < index; ++i)
5653 if (isVariadic[i]) ++prevVariadicCount;
5657 int variadicSize = (odsOperandsSize - 0) / 1;
5662 int start = index + (variadicSize - 1) * prevVariadicCount;
5663 int size = isVariadic[index] ? variadicSize : 1;
5664 return {start, size};
5671 return ::mlir::success();
5675 bool isVariadic[] = {
true};
5676 int prevVariadicCount = 0;
5677 for (
unsigned i = 0; i < index; ++i)
5678 if (isVariadic[i]) ++prevVariadicCount;
5682 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
5687 int start = index + (variadicSize - 1) * prevVariadicCount;
5688 int size = isVariadic[index] ? variadicSize : 1;
5689 return {start, size};
5694 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
5695 return mutableRange;
5698void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
5699 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
5703void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
5704 odsState.addOperands(inputs);
5705 odsState.addTypes(result);
5708void DistinctOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5709 odsState.addOperands(operands);
5710 odsState.addAttributes(attributes);
5711 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5712 odsState.addTypes(resultTypes);
5715void DistinctOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5716 odsState.addOperands(operands);
5717 odsState.addAttributes(attributes);
5719 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5721 odsState.location, operands,
5722 odsState.attributes.getDictionary(odsState.getContext()),
5723 odsState.getRawProperties(),
5724 odsState.regions, inferredReturnTypes))) {
5725 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5726 odsState.addTypes(inferredReturnTypes);
5728 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5734 unsigned index = 0; (void)index;
5737 for (
auto v : valueGroup0) {
5738 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
5739 return ::mlir::failure();
5743 unsigned index = 0; (void)index;
5746 for (
auto v : valueGroup0) {
5747 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5748 return ::mlir::failure();
5751 return ::mlir::success();
5756 return ::mlir::success();
5757 return ::mlir::failure();
5760::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) {
5761 inferredReturnTypes.resize(1);
5762 ::mlir::Builder odsBuilder(context);
5764 inferredReturnTypes[0] = odsInferredType0;
5765 return ::mlir::success();
5768void DistinctOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5784 bool isVariadic[] = {
true};
5785 int prevVariadicCount = 0;
5786 for (
unsigned i = 0; i < index; ++i)
5787 if (isVariadic[i]) ++prevVariadicCount;
5791 int variadicSize = (odsOperandsSize - 0) / 1;
5796 int start = index + (variadicSize - 1) * prevVariadicCount;
5797 int size = isVariadic[index] ? variadicSize : 1;
5798 return {start, size};
5805 return ::mlir::success();
5809 bool isVariadic[] = {
true};
5810 int prevVariadicCount = 0;
5811 for (
unsigned i = 0; i < index; ++i)
5812 if (isVariadic[i]) ++prevVariadicCount;
5816 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
5821 int start = index + (variadicSize - 1) * prevVariadicCount;
5822 int size = isVariadic[index] ? variadicSize : 1;
5823 return {start, size};
5828 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
5829 return mutableRange;
5832void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
5833 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
5837void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
5838 odsState.addOperands(inputs);
5839 odsState.addTypes(result);
5842void EqOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5843 odsState.addOperands(operands);
5844 odsState.addAttributes(attributes);
5845 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
5846 odsState.addTypes(resultTypes);
5849void EqOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
5850 odsState.addOperands(operands);
5851 odsState.addAttributes(attributes);
5853 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
5855 odsState.location, operands,
5856 odsState.attributes.getDictionary(odsState.getContext()),
5857 odsState.getRawProperties(),
5858 odsState.regions, inferredReturnTypes))) {
5859 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
5860 odsState.addTypes(inferredReturnTypes);
5862 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
5868 unsigned index = 0; (void)index;
5871 for (
auto v : valueGroup0) {
5872 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT4(*
this, v.getType(),
"operand", index++)))
5873 return ::mlir::failure();
5877 unsigned index = 0; (void)index;
5880 for (
auto v : valueGroup0) {
5881 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
5882 return ::mlir::failure();
5885 return ::mlir::success();
5890 return ::mlir::success();
5891 return ::mlir::failure();
5894::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) {
5895 inferredReturnTypes.resize(1);
5896 ::mlir::Builder odsBuilder(context);
5898 inferredReturnTypes[0] = odsInferredType0;
5899 return ::mlir::success();
5902void EqOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
5920 auto attr = ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(
getProperties().weight);
5926 return attr.getValue().getZExtValue();
5930 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().noPattern);
5932 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
5939 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
5940 return attr !=
nullptr;
5945 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
5956 if (tblgen_weight && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_weight))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_weight).getType().isSignlessInteger(32)))))
5957 return emitError(loc,
"'smt.exists' op ""attribute 'weight' failed to satisfy constraint: 32-bit signless integer attribute");
5959 if (tblgen_noPattern && !((::llvm::isa<::mlir::UnitAttr>(tblgen_noPattern))))
5960 return emitError(loc,
"'smt.exists' op ""attribute 'noPattern' failed to satisfy constraint: unit attribute");
5962 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))); }))))
5963 return emitError(loc,
"'smt.exists' op ""attribute 'boundVarNames' failed to satisfy constraint: string array attribute");
5964 return ::mlir::success();
5968 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
5970 emitError() <<
"expected DictionaryAttr to set properties";
5971 return ::mlir::failure();
5976 auto attr = dict.get(
"boundVarNames");
5978 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
5979 if (convertedAttr) {
5980 propStorage = convertedAttr;
5982 emitError() <<
"Invalid attribute `boundVarNames` in property conversion: " << attr;
5983 return ::mlir::failure();
5990 auto attr = dict.get(
"noPattern");
5992 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
5993 if (convertedAttr) {
5994 propStorage = convertedAttr;
5996 emitError() <<
"Invalid attribute `noPattern` in property conversion: " << attr;
5997 return ::mlir::failure();
6003 auto &propStorage = prop.
weight;
6004 auto attr = dict.get(
"weight");
6006 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6007 if (convertedAttr) {
6008 propStorage = convertedAttr;
6010 emitError() <<
"Invalid attribute `weight` in property conversion: " << attr;
6011 return ::mlir::failure();
6015 return ::mlir::success();
6019 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6020 ::mlir::Builder odsBuilder{ctx};
6025 attrs.push_back(odsBuilder.getNamedAttr(
"boundVarNames",
6030 const auto &propStorage = prop.
noPattern;
6032 attrs.push_back(odsBuilder.getNamedAttr(
"noPattern",
6037 const auto &propStorage = prop.
weight;
6039 attrs.push_back(odsBuilder.getNamedAttr(
"weight",
6044 return odsBuilder.getDictionaryAttr(attrs);
6049 return llvm::hash_combine(
6051 llvm::hash_value(prop.
noPattern.getAsOpaquePointer()),
6052 llvm::hash_value(prop.
weight.getAsOpaquePointer()));
6056 if (name ==
"boundVarNames")
6059 if (name ==
"noPattern")
6062 if (name ==
"weight")
6064 return std::nullopt;
6068 if (name ==
"boundVarNames") {
6073 if (name ==
"noPattern") {
6074 prop.
noPattern = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
noPattern)>>(value);
6078 if (name ==
"weight") {
6079 prop.
weight = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
weight)>>(value);
6092::llvm::LogicalResult
ExistsOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6095 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(attr,
"boundVarNames", emitError)))
6096 return ::mlir::failure();
6101 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"noPattern", emitError)))
6102 return ::mlir::failure();
6107 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"weight", emitError)))
6108 return ::mlir::failure();
6110 return ::mlir::success();
6114 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6115 if (::mlir::failed(reader.readOptionalAttribute(prop.
boundVarNames)))
6116 return ::mlir::failure();
6118 if (::mlir::failed(reader.readOptionalAttribute(prop.
noPattern)))
6119 return ::mlir::failure();
6121 if (::mlir::failed(reader.readOptionalAttribute(prop.
weight)))
6122 return ::mlir::failure();
6123 return ::mlir::success();
6127 auto &prop = getProperties(); (void)prop;
6131 writer.writeOptionalAttribute(prop.
noPattern);
6133 writer.writeOptionalAttribute(prop.
weight);
6138 return attr.getValue().getZExtValue();
6144 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6145 return attr !=
nullptr;
6150 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6154 getProperties().weight = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6158 auto &odsProp = getProperties().noPattern;
6160 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
6166 ::mlir::Builder odsBuilder(opName.getContext());
6168 properties.
weight = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0);
6172 auto tblgen_boundVarNames = getProperties().boundVarNames; (void)tblgen_boundVarNames;
6173 auto tblgen_noPattern = getProperties().noPattern; (void)tblgen_noPattern;
6174 auto tblgen_weight = getProperties().weight; (void)tblgen_weight;
6176 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_weight,
"weight")))
6177 return ::mlir::failure();
6179 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_noPattern,
"noPattern")))
6180 return ::mlir::failure();
6182 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(*
this, tblgen_boundVarNames,
"boundVarNames")))
6183 return ::mlir::failure();
6185 unsigned index = 0; (void)index;
6188 for (
auto v : valueGroup0) {
6189 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
6190 return ::mlir::failure();
6194 unsigned index = 0; (void)index;
6196 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
6197 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"body", index++)))
6198 return ::mlir::failure();
6201 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"patterns", index++)))
6202 return ::mlir::failure();
6204 return ::mlir::success();
6209 return ::mlir::success();
6210 return ::mlir::failure();
6213::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) {
6214 inferredReturnTypes.resize(1);
6215 ::mlir::Builder odsBuilder(context);
6217 inferredReturnTypes[0] = odsInferredType0;
6218 return ::mlir::success();
6221::mlir::ParseResult
ExistsOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6222 ::mlir::ArrayAttr boundVarNamesAttr;
6223 ::mlir::IntegerAttr weightAttr;
6224 std::unique_ptr<::mlir::Region> bodyRegion = std::make_unique<::mlir::Region>();
6225 ::llvm::SmallVector<std::unique_ptr<::mlir::Region>, 2> patternsRegions;
6227 ::mlir::OptionalParseResult parseResultboundVarNamesAttr =
6228 parser.parseOptionalAttribute(boundVarNamesAttr, parser.getBuilder().getType<::mlir::NoneType>());
6229 if (parseResultboundVarNamesAttr.has_value() && failed(*parseResultboundVarNamesAttr))
6230 return ::mlir::failure();
6231 if (parseResultboundVarNamesAttr.has_value() && succeeded(*parseResultboundVarNamesAttr))
6232 if (boundVarNamesAttr) result.getOrAddProperties<
ExistsOp::Properties>().boundVarNames = boundVarNamesAttr;
6233 if (boundVarNamesAttr) {
6235 if (::mlir::succeeded(parser.parseOptionalKeyword(
"no_pattern"))) {
6236 result.getOrAddProperties<
ExistsOp::Properties>().noPattern = parser.getBuilder().getUnitAttr(); }
6237 if (::mlir::succeeded(parser.parseOptionalKeyword(
"weight"))) {
6239 if (parser.parseCustomAttributeWithFallback(weightAttr, parser.getBuilder().getIntegerType(32))) {
6240 return ::mlir::failure();
6245 auto loc = parser.getCurrentLocation();(void)loc;
6246 if (parser.parseOptionalAttrDictWithKeyword(result.attributes))
6247 return ::mlir::failure();
6249 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6251 return ::mlir::failure();
6254 if (parser.parseRegion(*bodyRegion))
6255 return ::mlir::failure();
6257 ensureTerminator(*bodyRegion, parser.getBuilder(), result.location);
6258 if (::mlir::succeeded(parser.parseOptionalKeyword(
"patterns"))) {
6261 std::unique_ptr<::mlir::Region> region;
6262 auto firstRegionResult = parser.parseOptionalRegion(region);
6263 if (firstRegionResult.has_value()) {
6264 if (failed(*firstRegionResult))
6265 return ::mlir::failure();
6266 patternsRegions.emplace_back(std::move(region));
6269 while (succeeded(parser.parseOptionalComma())) {
6270 region = std::make_unique<::mlir::Region>();
6271 if (parser.parseRegion(*region))
6272 return ::mlir::failure();
6273 patternsRegions.emplace_back(std::move(region));
6278 for (
auto ®ion : patternsRegions)
6279 ensureTerminator(*region, parser.getBuilder(), result.location);
6281 result.addRegion(std::move(bodyRegion));
6282 result.addRegions(patternsRegions);
6284 result.addTypes(odsBuildableType0);
6285 return ::mlir::success();
6294 _odsPrinter <<
' ' <<
"no_pattern";
6296 if (
getWeightAttr() != ::mlir::OpBuilder((*this)->getContext()).getIntegerAttr(::mlir::OpBuilder((*this)->getContext()).getIntegerType(32), 0)) {
6297 _odsPrinter <<
' ' <<
"weight";
6301 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
6302 elidedAttrs.push_back(
"boundVarNames");
6303 elidedAttrs.push_back(
"noPattern");
6304 elidedAttrs.push_back(
"weight");
6306 ::mlir::Builder odsBuilder(getContext());
6308 if(attr && (attr == odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0)))
6309 elidedAttrs.push_back(
"weight");
6312 ::mlir::Builder odsBuilder(getContext());
6314 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
6315 elidedAttrs.push_back(
"noPattern");
6317 _odsPrinter.printOptionalAttrDictWithKeyword((*this)->getAttrs(), elidedAttrs);
6321 bool printTerminator =
true;
6322 if (
auto *term =
getBody().empty() ?
nullptr :
getBody().begin()->getTerminator()) {
6323 printTerminator = !term->getAttrDictionary().empty() ||
6324 term->getNumOperands() != 0 ||
6325 term->getNumResults() != 0;
6327 _odsPrinter.printRegion(
getBody(),
true,
6331 _odsPrinter <<
' ' <<
"patterns";
6333 llvm::interleaveComma(
getPatterns(), _odsPrinter, [&](::mlir::Region ®ion) {
6336 bool printTerminator =
true;
6337 if (
auto *term = region.empty() ?
nullptr : region.begin()->getTerminator()) {
6338 printTerminator = !term->getAttrDictionary().empty() ||
6339 term->getNumOperands() != 0 ||
6340 term->getNumResults() != 0;
6342 _odsPrinter.printRegion(region,
true,
6365 return attr.getValue().getZExtValue();
6373 if (!tblgen_lowBit)
return emitError(loc,
"'smt.bv.extract' op ""requires attribute 'lowBit'");
6375 if (tblgen_lowBit && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_lowBit))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_lowBit).getType().isSignlessInteger(32)))))
6376 return emitError(loc,
"'smt.bv.extract' op ""attribute 'lowBit' failed to satisfy constraint: 32-bit signless integer attribute");
6377 return ::mlir::success();
6381 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
6383 emitError() <<
"expected DictionaryAttr to set properties";
6384 return ::mlir::failure();
6388 auto &propStorage = prop.
lowBit;
6389 auto attr = dict.get(
"lowBit");
6391 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6392 if (convertedAttr) {
6393 propStorage = convertedAttr;
6395 emitError() <<
"Invalid attribute `lowBit` in property conversion: " << attr;
6396 return ::mlir::failure();
6400 return ::mlir::success();
6404 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6405 ::mlir::Builder odsBuilder{ctx};
6408 const auto &propStorage = prop.
lowBit;
6410 attrs.push_back(odsBuilder.getNamedAttr(
"lowBit",
6415 return odsBuilder.getDictionaryAttr(attrs);
6420 return llvm::hash_combine(
6421 llvm::hash_value(prop.
lowBit.getAsOpaquePointer()));
6425 if (name ==
"lowBit")
6427 return std::nullopt;
6431 if (name ==
"lowBit") {
6432 prop.
lowBit = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
lowBit)>>(value);
6441::llvm::LogicalResult
ExtractOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6444 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"lowBit", emitError)))
6445 return ::mlir::failure();
6447 return ::mlir::success();
6451 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6452 if (::mlir::failed(reader.readAttribute(prop.
lowBit)))
6453 return ::mlir::failure();
6454 return ::mlir::success();
6458 auto &prop = getProperties(); (void)prop;
6459 writer.writeAttribute(prop.
lowBit);
6464 return attr.getValue().getZExtValue();
6468 getProperties().lowBit = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6471void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr lowBit, ::mlir::Value input) {
6472 odsState.addOperands(input);
6473 odsState.getOrAddProperties<
Properties>().lowBit = lowBit;
6474 odsState.addTypes(result);
6477void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr lowBit, ::mlir::Value input) {
6478 odsState.addOperands(input);
6479 odsState.getOrAddProperties<
Properties>().lowBit = lowBit;
6480 assert(resultTypes.size() == 1u &&
"mismatched number of results");
6481 odsState.addTypes(resultTypes);
6484void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, uint32_t lowBit, ::mlir::Value input) {
6485 odsState.addOperands(input);
6486 odsState.getOrAddProperties<
Properties>().lowBit = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), lowBit);
6487 odsState.addTypes(result);
6490void ExtractOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t lowBit, ::mlir::Value input) {
6491 odsState.addOperands(input);
6492 odsState.getOrAddProperties<
Properties>().lowBit = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), lowBit);
6493 assert(resultTypes.size() == 1u &&
"mismatched number of results");
6494 odsState.addTypes(resultTypes);
6497void ExtractOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
6498 assert(operands.size() == 1u &&
"mismatched number of parameters");
6499 odsState.addOperands(operands);
6500 odsState.addAttributes(attributes);
6501 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
6502 odsState.addTypes(resultTypes);
6504 if (!attributes.empty()) {
6505 ::mlir::OpaqueProperties properties =
6507 std::optional<::mlir::RegisteredOperationName> info =
6508 odsState.name.getRegisteredInfo();
6509 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
6510 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
6511 ::llvm::report_fatal_error(
"Property conversion failed.");
6516 auto tblgen_lowBit = getProperties().lowBit; (void)tblgen_lowBit;
6517 if (!tblgen_lowBit)
return emitOpError(
"requires attribute 'lowBit'");
6519 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_lowBit,
"lowBit")))
6520 return ::mlir::failure();
6522 unsigned index = 0; (void)index;
6525 for (
auto v : valueGroup0) {
6526 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
6527 return ::mlir::failure();
6531 unsigned index = 0; (void)index;
6534 for (
auto v : valueGroup0) {
6535 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
6536 return ::mlir::failure();
6539 return ::mlir::success();
6544 return ::mlir::success();
6545 return ::mlir::failure();
6548::mlir::ParseResult
ExtractOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6549 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
6550 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
6551 (void)inputOperandsLoc;
6552 ::mlir::IntegerAttr lowBitAttr;
6553 ::llvm::ArrayRef<::mlir::Type> inputTypes;
6554 ::llvm::ArrayRef<::mlir::Type> resultTypes;
6556 inputOperandsLoc = parser.getCurrentLocation();
6557 if (parser.parseOperand(inputRawOperand))
6558 return ::mlir::failure();
6559 if (parser.parseKeyword(
"from"))
6560 return ::mlir::failure();
6562 if (parser.parseCustomAttributeWithFallback(lowBitAttr, parser.getBuilder().getIntegerType(32))) {
6563 return ::mlir::failure();
6567 auto loc = parser.getCurrentLocation();(void)loc;
6568 if (parser.parseOptionalAttrDict(result.attributes))
6569 return ::mlir::failure();
6571 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6573 return ::mlir::failure();
6575 if (parser.parseColon())
6576 return ::mlir::failure();
6578 ::mlir::FunctionType input__result_functionType;
6579 if (parser.parseType(input__result_functionType))
6580 return ::mlir::failure();
6581 inputTypes = input__result_functionType.getInputs();
6582 resultTypes = input__result_functionType.getResults();
6583 result.addTypes(resultTypes);
6584 if (parser.resolveOperands(inputOperands, inputTypes, inputOperandsLoc, result.operands))
6585 return ::mlir::failure();
6586 return ::mlir::success();
6592 _odsPrinter <<
' ' <<
"from";
6595 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
6596 elidedAttrs.push_back(
"lowBit");
6597 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
6598 _odsPrinter <<
' ' <<
":";
6600 _odsPrinter.printFunctionalType(::llvm::ArrayRef<::mlir::Type>(
getInput().getType()), ::llvm::ArrayRef<::mlir::Type>(
getResult().getType()));
6603void ExtractOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
6621 auto attr = ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(
getProperties().weight);
6627 return attr.getValue().getZExtValue();
6631 auto attr = ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(
getProperties().noPattern);
6633 attr = ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr);
6640 return ((
false) ? ::mlir::Builder(
odsAttrs.getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6641 return attr !=
nullptr;
6646 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6657 if (tblgen_weight && !(((::llvm::isa<::mlir::IntegerAttr>(tblgen_weight))) && ((::llvm::cast<::mlir::IntegerAttr>(tblgen_weight).getType().isSignlessInteger(32)))))
6658 return emitError(loc,
"'smt.forall' op ""attribute 'weight' failed to satisfy constraint: 32-bit signless integer attribute");
6660 if (tblgen_noPattern && !((::llvm::isa<::mlir::UnitAttr>(tblgen_noPattern))))
6661 return emitError(loc,
"'smt.forall' op ""attribute 'noPattern' failed to satisfy constraint: unit attribute");
6663 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))); }))))
6664 return emitError(loc,
"'smt.forall' op ""attribute 'boundVarNames' failed to satisfy constraint: string array attribute");
6665 return ::mlir::success();
6669 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
6671 emitError() <<
"expected DictionaryAttr to set properties";
6672 return ::mlir::failure();
6677 auto attr = dict.get(
"boundVarNames");
6679 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6680 if (convertedAttr) {
6681 propStorage = convertedAttr;
6683 emitError() <<
"Invalid attribute `boundVarNames` in property conversion: " << attr;
6684 return ::mlir::failure();
6691 auto attr = dict.get(
"noPattern");
6693 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6694 if (convertedAttr) {
6695 propStorage = convertedAttr;
6697 emitError() <<
"Invalid attribute `noPattern` in property conversion: " << attr;
6698 return ::mlir::failure();
6704 auto &propStorage = prop.
weight;
6705 auto attr = dict.get(
"weight");
6707 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
6708 if (convertedAttr) {
6709 propStorage = convertedAttr;
6711 emitError() <<
"Invalid attribute `weight` in property conversion: " << attr;
6712 return ::mlir::failure();
6716 return ::mlir::success();
6720 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
6721 ::mlir::Builder odsBuilder{ctx};
6726 attrs.push_back(odsBuilder.getNamedAttr(
"boundVarNames",
6731 const auto &propStorage = prop.
noPattern;
6733 attrs.push_back(odsBuilder.getNamedAttr(
"noPattern",
6738 const auto &propStorage = prop.
weight;
6740 attrs.push_back(odsBuilder.getNamedAttr(
"weight",
6745 return odsBuilder.getDictionaryAttr(attrs);
6750 return llvm::hash_combine(
6752 llvm::hash_value(prop.
noPattern.getAsOpaquePointer()),
6753 llvm::hash_value(prop.
weight.getAsOpaquePointer()));
6757 if (name ==
"boundVarNames")
6760 if (name ==
"noPattern")
6763 if (name ==
"weight")
6765 return std::nullopt;
6769 if (name ==
"boundVarNames") {
6774 if (name ==
"noPattern") {
6775 prop.
noPattern = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
noPattern)>>(value);
6779 if (name ==
"weight") {
6780 prop.
weight = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
weight)>>(value);
6793::llvm::LogicalResult
ForallOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
6796 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(attr,
"boundVarNames", emitError)))
6797 return ::mlir::failure();
6802 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(attr,
"noPattern", emitError)))
6803 return ::mlir::failure();
6808 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(attr,
"weight", emitError)))
6809 return ::mlir::failure();
6811 return ::mlir::success();
6815 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
6816 if (::mlir::failed(reader.readOptionalAttribute(prop.
boundVarNames)))
6817 return ::mlir::failure();
6819 if (::mlir::failed(reader.readOptionalAttribute(prop.
noPattern)))
6820 return ::mlir::failure();
6822 if (::mlir::failed(reader.readOptionalAttribute(prop.
weight)))
6823 return ::mlir::failure();
6824 return ::mlir::success();
6828 auto &prop = getProperties(); (void)prop;
6832 writer.writeOptionalAttribute(prop.
noPattern);
6834 writer.writeOptionalAttribute(prop.
weight);
6839 return attr.getValue().getZExtValue();
6845 return ((
false) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr) !=
nullptr;
6846 return attr !=
nullptr;
6851 return attr ? ::std::optional< ::mlir::ArrayAttr >(attr) : (::std::nullopt);
6855 getProperties().weight = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
6859 auto &odsProp = getProperties().noPattern;
6861 odsProp = ((attrValue) ? ::mlir::Builder((*this)->getContext()).getUnitAttr() :
nullptr);
6867 ::mlir::Builder odsBuilder(opName.getContext());
6869 properties.
weight = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0);
6873 auto tblgen_boundVarNames = getProperties().boundVarNames; (void)tblgen_boundVarNames;
6874 auto tblgen_noPattern = getProperties().noPattern; (void)tblgen_noPattern;
6875 auto tblgen_weight = getProperties().weight; (void)tblgen_weight;
6877 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT6(*
this, tblgen_weight,
"weight")))
6878 return ::mlir::failure();
6880 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT1(*
this, tblgen_noPattern,
"noPattern")))
6881 return ::mlir::failure();
6883 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT7(*
this, tblgen_boundVarNames,
"boundVarNames")))
6884 return ::mlir::failure();
6886 unsigned index = 0; (void)index;
6889 for (
auto v : valueGroup0) {
6890 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
6891 return ::mlir::failure();
6895 unsigned index = 0; (void)index;
6897 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
6898 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"body", index++)))
6899 return ::mlir::failure();
6902 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"patterns", index++)))
6903 return ::mlir::failure();
6905 return ::mlir::success();
6910 return ::mlir::success();
6911 return ::mlir::failure();
6914::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) {
6915 inferredReturnTypes.resize(1);
6916 ::mlir::Builder odsBuilder(context);
6918 inferredReturnTypes[0] = odsInferredType0;
6919 return ::mlir::success();
6922::mlir::ParseResult
ForallOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
6923 ::mlir::ArrayAttr boundVarNamesAttr;
6924 ::mlir::IntegerAttr weightAttr;
6925 std::unique_ptr<::mlir::Region> bodyRegion = std::make_unique<::mlir::Region>();
6926 ::llvm::SmallVector<std::unique_ptr<::mlir::Region>, 2> patternsRegions;
6928 ::mlir::OptionalParseResult parseResultboundVarNamesAttr =
6929 parser.parseOptionalAttribute(boundVarNamesAttr, parser.getBuilder().getType<::mlir::NoneType>());
6930 if (parseResultboundVarNamesAttr.has_value() && failed(*parseResultboundVarNamesAttr))
6931 return ::mlir::failure();
6932 if (parseResultboundVarNamesAttr.has_value() && succeeded(*parseResultboundVarNamesAttr))
6933 if (boundVarNamesAttr) result.getOrAddProperties<
ForallOp::Properties>().boundVarNames = boundVarNamesAttr;
6934 if (boundVarNamesAttr) {
6936 if (::mlir::succeeded(parser.parseOptionalKeyword(
"no_pattern"))) {
6937 result.getOrAddProperties<
ForallOp::Properties>().noPattern = parser.getBuilder().getUnitAttr(); }
6938 if (::mlir::succeeded(parser.parseOptionalKeyword(
"weight"))) {
6940 if (parser.parseCustomAttributeWithFallback(weightAttr, parser.getBuilder().getIntegerType(32))) {
6941 return ::mlir::failure();
6946 auto loc = parser.getCurrentLocation();(void)loc;
6947 if (parser.parseOptionalAttrDictWithKeyword(result.attributes))
6948 return ::mlir::failure();
6950 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
6952 return ::mlir::failure();
6955 if (parser.parseRegion(*bodyRegion))
6956 return ::mlir::failure();
6958 ensureTerminator(*bodyRegion, parser.getBuilder(), result.location);
6959 if (::mlir::succeeded(parser.parseOptionalKeyword(
"patterns"))) {
6962 std::unique_ptr<::mlir::Region> region;
6963 auto firstRegionResult = parser.parseOptionalRegion(region);
6964 if (firstRegionResult.has_value()) {
6965 if (failed(*firstRegionResult))
6966 return ::mlir::failure();
6967 patternsRegions.emplace_back(std::move(region));
6970 while (succeeded(parser.parseOptionalComma())) {
6971 region = std::make_unique<::mlir::Region>();
6972 if (parser.parseRegion(*region))
6973 return ::mlir::failure();
6974 patternsRegions.emplace_back(std::move(region));
6979 for (
auto ®ion : patternsRegions)
6980 ensureTerminator(*region, parser.getBuilder(), result.location);
6982 result.addRegion(std::move(bodyRegion));
6983 result.addRegions(patternsRegions);
6985 result.addTypes(odsBuildableType0);
6986 return ::mlir::success();
6995 _odsPrinter <<
' ' <<
"no_pattern";
6997 if (
getWeightAttr() != ::mlir::OpBuilder((*this)->getContext()).getIntegerAttr(::mlir::OpBuilder((*this)->getContext()).getIntegerType(32), 0)) {
6998 _odsPrinter <<
' ' <<
"weight";
7002 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7003 elidedAttrs.push_back(
"boundVarNames");
7004 elidedAttrs.push_back(
"noPattern");
7005 elidedAttrs.push_back(
"weight");
7007 ::mlir::Builder odsBuilder(getContext());
7009 if(attr && (attr == odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), 0)))
7010 elidedAttrs.push_back(
"weight");
7013 ::mlir::Builder odsBuilder(getContext());
7015 if(attr && (attr == ((
false) ? odsBuilder.getUnitAttr() :
nullptr)))
7016 elidedAttrs.push_back(
"noPattern");
7018 _odsPrinter.printOptionalAttrDictWithKeyword((*this)->getAttrs(), elidedAttrs);
7022 bool printTerminator =
true;
7023 if (
auto *term =
getBody().empty() ?
nullptr :
getBody().begin()->getTerminator()) {
7024 printTerminator = !term->getAttrDictionary().empty() ||
7025 term->getNumOperands() != 0 ||
7026 term->getNumResults() != 0;
7028 _odsPrinter.printRegion(
getBody(),
true,
7032 _odsPrinter <<
' ' <<
"patterns";
7034 llvm::interleaveComma(
getPatterns(), _odsPrinter, [&](::mlir::Region ®ion) {
7037 bool printTerminator =
true;
7038 if (
auto *term = region.empty() ?
nullptr : region.begin()->getTerminator()) {
7039 printTerminator = !term->getAttrDictionary().empty() ||
7040 term->getNumOperands() != 0 ||
7041 term->getNumResults() != 0;
7043 _odsPrinter.printRegion(region,
true,
7066 return ::mlir::success();
7069void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
7070 odsState.addOperands(lhs);
7071 odsState.addOperands(rhs);
7072 odsState.addTypes(result);
7075void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
7076 odsState.addOperands(lhs);
7077 odsState.addOperands(rhs);
7079 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7081 odsState.location, odsState.operands,
7082 odsState.attributes.getDictionary(odsState.getContext()),
7083 odsState.getRawProperties(),
7084 odsState.regions, inferredReturnTypes)))
7085 odsState.addTypes(inferredReturnTypes);
7087 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7091void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
7092 odsState.addOperands(lhs);
7093 odsState.addOperands(rhs);
7094 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7095 odsState.addTypes(resultTypes);
7098void ImpliesOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7099 assert(operands.size() == 2u &&
"mismatched number of parameters");
7100 odsState.addOperands(operands);
7101 odsState.addAttributes(attributes);
7102 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7103 odsState.addTypes(resultTypes);
7106void ImpliesOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7107 assert(operands.size() == 2u &&
"mismatched number of parameters");
7108 odsState.addOperands(operands);
7109 odsState.addAttributes(attributes);
7111 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7113 odsState.location, operands,
7114 odsState.attributes.getDictionary(odsState.getContext()),
7115 odsState.getRawProperties(),
7116 odsState.regions, inferredReturnTypes))) {
7117 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7118 odsState.addTypes(inferredReturnTypes);
7120 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7126 unsigned index = 0; (void)index;
7129 for (
auto v : valueGroup0) {
7130 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
7131 return ::mlir::failure();
7135 for (
auto v : valueGroup1) {
7136 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
7137 return ::mlir::failure();
7141 unsigned index = 0; (void)index;
7144 for (
auto v : valueGroup0) {
7145 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
7146 return ::mlir::failure();
7149 return ::mlir::success();
7156::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) {
7157 inferredReturnTypes.resize(1);
7158 ::mlir::Builder odsBuilder(context);
7160 inferredReturnTypes[0] = odsInferredType0;
7161 return ::mlir::success();
7164::mlir::ParseResult
ImpliesOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7165 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
7166 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
7167 (void)lhsOperandsLoc;
7168 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
7169 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
7170 (void)rhsOperandsLoc;
7172 lhsOperandsLoc = parser.getCurrentLocation();
7173 if (parser.parseOperand(lhsRawOperand))
7174 return ::mlir::failure();
7175 if (parser.parseComma())
7176 return ::mlir::failure();
7178 rhsOperandsLoc = parser.getCurrentLocation();
7179 if (parser.parseOperand(rhsRawOperand))
7180 return ::mlir::failure();
7182 auto loc = parser.getCurrentLocation();(void)loc;
7183 if (parser.parseOptionalAttrDict(result.attributes))
7184 return ::mlir::failure();
7187 result.addTypes(odsBuildableType0);
7188 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
7189 return ::mlir::failure();
7190 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
7191 return ::mlir::failure();
7192 return ::mlir::success();
7201 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7202 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7205void ImpliesOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7224 return ::mlir::success();
7227void Int2BVOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
7228 odsState.addOperands(input);
7229 odsState.addTypes(result);
7232void Int2BVOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
7233 odsState.addOperands(input);
7234 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7235 odsState.addTypes(resultTypes);
7238void Int2BVOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7239 assert(operands.size() == 1u &&
"mismatched number of parameters");
7240 odsState.addOperands(operands);
7241 odsState.addAttributes(attributes);
7242 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7243 odsState.addTypes(resultTypes);
7248 unsigned index = 0; (void)index;
7251 for (
auto v : valueGroup0) {
7252 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7253 return ::mlir::failure();
7257 unsigned index = 0; (void)index;
7260 for (
auto v : valueGroup0) {
7261 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
7262 return ::mlir::failure();
7265 return ::mlir::success();
7272::mlir::ParseResult
Int2BVOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7273 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
7274 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
7275 (void)inputOperandsLoc;
7276 ::mlir::Type resultRawType{};
7277 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
7279 inputOperandsLoc = parser.getCurrentLocation();
7280 if (parser.parseOperand(inputRawOperand))
7281 return ::mlir::failure();
7283 auto loc = parser.getCurrentLocation();(void)loc;
7284 if (parser.parseOptionalAttrDict(result.attributes))
7285 return ::mlir::failure();
7287 if (parser.parseColon())
7288 return ::mlir::failure();
7290 if (parser.parseType(resultRawType))
7291 return ::mlir::failure();
7293 result.addTypes(resultTypes);
7294 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
7295 return ::mlir::failure();
7296 return ::mlir::success();
7302 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7303 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7304 _odsPrinter <<
' ' <<
":";
7309void Int2BVOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7328 return ::mlir::success();
7331void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
7332 odsState.addOperands(input);
7333 odsState.addTypes(result);
7336void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
7337 odsState.addOperands(input);
7339 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7341 odsState.location, odsState.operands,
7342 odsState.attributes.getDictionary(odsState.getContext()),
7343 odsState.getRawProperties(),
7344 odsState.regions, inferredReturnTypes)))
7345 odsState.addTypes(inferredReturnTypes);
7347 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7351void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
7352 odsState.addOperands(input);
7353 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7354 odsState.addTypes(resultTypes);
7357void IntAbsOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7358 assert(operands.size() == 1u &&
"mismatched number of parameters");
7359 odsState.addOperands(operands);
7360 odsState.addAttributes(attributes);
7361 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7362 odsState.addTypes(resultTypes);
7365void IntAbsOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7366 assert(operands.size() == 1u &&
"mismatched number of parameters");
7367 odsState.addOperands(operands);
7368 odsState.addAttributes(attributes);
7370 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7372 odsState.location, operands,
7373 odsState.attributes.getDictionary(odsState.getContext()),
7374 odsState.getRawProperties(),
7375 odsState.regions, inferredReturnTypes))) {
7376 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7377 odsState.addTypes(inferredReturnTypes);
7379 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7385 unsigned index = 0; (void)index;
7388 for (
auto v : valueGroup0) {
7389 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7390 return ::mlir::failure();
7394 unsigned index = 0; (void)index;
7397 for (
auto v : valueGroup0) {
7398 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
7399 return ::mlir::failure();
7402 return ::mlir::success();
7409::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) {
7410 inferredReturnTypes.resize(1);
7411 ::mlir::Builder odsBuilder(context);
7413 inferredReturnTypes[0] = odsInferredType0;
7414 return ::mlir::success();
7417::mlir::ParseResult
IntAbsOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7418 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
7419 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
7420 (void)inputOperandsLoc;
7422 inputOperandsLoc = parser.getCurrentLocation();
7423 if (parser.parseOperand(inputRawOperand))
7424 return ::mlir::failure();
7426 auto loc = parser.getCurrentLocation();(void)loc;
7427 if (parser.parseOptionalAttrDict(result.attributes))
7428 return ::mlir::failure();
7431 result.addTypes(odsBuildableType0);
7432 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
7433 return ::mlir::failure();
7434 return ::mlir::success();
7440 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7441 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7444void IntAbsOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7460 bool isVariadic[] = {
true};
7461 int prevVariadicCount = 0;
7462 for (
unsigned i = 0; i < index; ++i)
7463 if (isVariadic[i]) ++prevVariadicCount;
7467 int variadicSize = (odsOperandsSize - 0) / 1;
7472 int start = index + (variadicSize - 1) * prevVariadicCount;
7473 int size = isVariadic[index] ? variadicSize : 1;
7474 return {start, size};
7481 return ::mlir::success();
7485 bool isVariadic[] = {
true};
7486 int prevVariadicCount = 0;
7487 for (
unsigned i = 0; i < index; ++i)
7488 if (isVariadic[i]) ++prevVariadicCount;
7492 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
7497 int start = index + (variadicSize - 1) * prevVariadicCount;
7498 int size = isVariadic[index] ? variadicSize : 1;
7499 return {start, size};
7504 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
7505 return mutableRange;
7508void IntAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
7509 odsState.addOperands(inputs);
7510 odsState.addTypes(result);
7513void IntAddOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7514 odsState.addOperands(operands);
7515 odsState.addAttributes(attributes);
7516 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7517 odsState.addTypes(resultTypes);
7520void IntAddOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7521 odsState.addOperands(operands);
7522 odsState.addAttributes(attributes);
7524 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7526 odsState.location, operands,
7527 odsState.attributes.getDictionary(odsState.getContext()),
7528 odsState.getRawProperties(),
7529 odsState.regions, inferredReturnTypes))) {
7530 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7531 odsState.addTypes(inferredReturnTypes);
7533 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7539 unsigned index = 0; (void)index;
7542 for (
auto v : valueGroup0) {
7543 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT11(*
this, v.getType(),
"operand", index++)))
7544 return ::mlir::failure();
7548 unsigned index = 0; (void)index;
7551 for (
auto v : valueGroup0) {
7552 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
7553 return ::mlir::failure();
7556 return ::mlir::success();
7563::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) {
7564 inferredReturnTypes.resize(1);
7565 ::mlir::Builder odsBuilder(context);
7567 inferredReturnTypes[0] = odsInferredType0;
7568 return ::mlir::success();
7571::mlir::ParseResult
IntAddOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7572 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
7573 ::llvm::SMLoc inputsOperandsLoc;
7574 (void)inputsOperandsLoc;
7576 inputsOperandsLoc = parser.getCurrentLocation();
7577 if (parser.parseOperandList(inputsOperands))
7578 return ::mlir::failure();
7580 auto loc = parser.getCurrentLocation();(void)loc;
7581 if (parser.parseOptionalAttrDict(result.attributes))
7582 return ::mlir::failure();
7585 result.addTypes(odsBuildableType0);
7586 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
7587 return ::mlir::failure();
7588 return ::mlir::success();
7594 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7595 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7598void IntAddOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7617 return attr.getValue();
7625 if (!tblgen_pred)
return emitError(loc,
"'smt.int.cmp' op ""requires attribute 'pred'");
7627 if (tblgen_pred && !((::llvm::isa<::llzk::smt::IntPredicateAttr>(tblgen_pred))))
7628 return emitError(loc,
"'smt.int.cmp' op ""attribute 'pred' failed to satisfy constraint: smt comparison predicate for integers");
7629 return ::mlir::success();
7633 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
7635 emitError() <<
"expected DictionaryAttr to set properties";
7636 return ::mlir::failure();
7640 auto &propStorage = prop.
pred;
7641 auto attr = dict.
get(
"pred");
7643 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
7644 if (convertedAttr) {
7645 propStorage = convertedAttr;
7647 emitError() <<
"Invalid attribute `pred` in property conversion: " << attr;
7648 return ::mlir::failure();
7652 return ::mlir::success();
7656 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
7657 ::mlir::Builder odsBuilder{ctx};
7660 const auto &propStorage = prop.
pred;
7662 attrs.push_back(odsBuilder.getNamedAttr(
"pred",
7667 return odsBuilder.getDictionaryAttr(attrs);
7672 return llvm::hash_combine(
7673 llvm::hash_value(prop.
pred.getAsOpaquePointer()));
7679 return std::nullopt;
7683 if (name ==
"pred") {
7684 prop.
pred = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
pred)>>(value);
7690 if (prop.
pred) attrs.append(
"pred", prop.
pred);
7693::llvm::LogicalResult
IntCmpOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
7696 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT8(attr,
"pred", emitError)))
7697 return ::mlir::failure();
7699 return ::mlir::success();
7703 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
7704 if (::mlir::failed(reader.readAttribute(prop.
pred)))
7705 return ::mlir::failure();
7706 return ::mlir::success();
7710 auto &prop = getProperties(); (void)prop;
7711 writer.writeAttribute(prop.
pred);
7716 return attr.getValue();
7724 odsState.addOperands(lhs);
7725 odsState.addOperands(rhs);
7726 odsState.getOrAddProperties<
Properties>().pred = pred;
7727 odsState.addTypes(result);
7731 odsState.addOperands(lhs);
7732 odsState.addOperands(rhs);
7733 odsState.getOrAddProperties<
Properties>().pred = pred;
7735 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7737 odsState.location, odsState.operands,
7738 odsState.attributes.getDictionary(odsState.getContext()),
7739 odsState.getRawProperties(),
7740 odsState.regions, inferredReturnTypes)))
7741 odsState.addTypes(inferredReturnTypes);
7743 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7748 odsState.addOperands(lhs);
7749 odsState.addOperands(rhs);
7750 odsState.getOrAddProperties<
Properties>().pred = pred;
7751 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7752 odsState.addTypes(resultTypes);
7756 odsState.addOperands(lhs);
7757 odsState.addOperands(rhs);
7759 odsState.addTypes(result);
7763 odsState.addOperands(lhs);
7764 odsState.addOperands(rhs);
7767 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7769 odsState.location, odsState.operands,
7770 odsState.attributes.getDictionary(odsState.getContext()),
7771 odsState.getRawProperties(),
7772 odsState.regions, inferredReturnTypes)))
7773 odsState.addTypes(inferredReturnTypes);
7775 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
7780 odsState.addOperands(lhs);
7781 odsState.addOperands(rhs);
7783 assert(resultTypes.size() == 1u &&
"mismatched number of results");
7784 odsState.addTypes(resultTypes);
7787void IntCmpOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7788 assert(operands.size() == 2u &&
"mismatched number of parameters");
7789 odsState.addOperands(operands);
7790 odsState.addAttributes(attributes);
7791 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
7792 odsState.addTypes(resultTypes);
7794 if (!attributes.empty()) {
7795 ::mlir::OpaqueProperties properties =
7797 std::optional<::mlir::RegisteredOperationName> info =
7798 odsState.name.getRegisteredInfo();
7799 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
7800 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
7801 ::llvm::report_fatal_error(
"Property conversion failed.");
7805void IntCmpOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
7806 assert(operands.size() == 2u &&
"mismatched number of parameters");
7807 odsState.addOperands(operands);
7808 odsState.addAttributes(attributes);
7810 if (!attributes.empty()) {
7811 ::mlir::OpaqueProperties properties =
7813 std::optional<::mlir::RegisteredOperationName> info =
7814 odsState.name.getRegisteredInfo();
7815 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
7816 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
7817 ::llvm::report_fatal_error(
"Property conversion failed.");
7819 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
7821 odsState.location, operands,
7822 odsState.attributes.getDictionary(odsState.getContext()),
7823 odsState.getRawProperties(),
7824 odsState.regions, inferredReturnTypes))) {
7825 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
7826 odsState.addTypes(inferredReturnTypes);
7828 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
7833 auto tblgen_pred = getProperties().pred; (void)tblgen_pred;
7834 if (!tblgen_pred)
return emitOpError(
"requires attribute 'pred'");
7836 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT8(*
this, tblgen_pred,
"pred")))
7837 return ::mlir::failure();
7839 unsigned index = 0; (void)index;
7842 for (
auto v : valueGroup0) {
7843 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7844 return ::mlir::failure();
7848 for (
auto v : valueGroup1) {
7849 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
7850 return ::mlir::failure();
7854 unsigned index = 0; (void)index;
7857 for (
auto v : valueGroup0) {
7858 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
7859 return ::mlir::failure();
7862 return ::mlir::success();
7869::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) {
7870 inferredReturnTypes.resize(1);
7871 ::mlir::Builder odsBuilder(context);
7873 inferredReturnTypes[0] = odsInferredType0;
7874 return ::mlir::success();
7877::mlir::ParseResult
IntCmpOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
7879 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
7880 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
7881 (void)lhsOperandsLoc;
7882 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
7883 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
7884 (void)rhsOperandsLoc;
7887 ::llvm::StringRef attrStr;
7888 ::mlir::NamedAttrList attrStorage;
7889 auto loc = parser.getCurrentLocation();
7890 if (parser.parseOptionalKeyword(&attrStr, {
"lt",
"le",
"gt",
"ge"})) {
7891 ::mlir::StringAttr attrVal;
7892 ::mlir::OptionalParseResult parseResult =
7893 parser.parseOptionalAttribute(attrVal,
7894 parser.getBuilder().getNoneType(),
7895 "pred", attrStorage);
7896 if (parseResult.has_value()) {
7897 if (failed(*parseResult))
7898 return ::mlir::failure();
7899 attrStr = attrVal.getValue();
7901 return parser.emitError(loc,
"expected string or keyword containing one of the following enum values for attribute 'pred' [lt, le, gt, ge]");
7904 if (!attrStr.empty()) {
7907 return parser.emitError(loc,
"invalid ")
7908 <<
"pred attribute specification: \"" << attrStr <<
'"';;
7915 lhsOperandsLoc = parser.getCurrentLocation();
7916 if (parser.parseOperand(lhsRawOperand))
7917 return ::mlir::failure();
7918 if (parser.parseComma())
7919 return ::mlir::failure();
7921 rhsOperandsLoc = parser.getCurrentLocation();
7922 if (parser.parseOperand(rhsRawOperand))
7923 return ::mlir::failure();
7925 auto loc = parser.getCurrentLocation();(void)loc;
7926 if (parser.parseOptionalAttrDict(result.attributes))
7927 return ::mlir::failure();
7929 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
7931 return ::mlir::failure();
7935 result.addTypes(odsBuildableType0);
7936 if (parser.resolveOperands(lhsOperands, odsBuildableType1, lhsOperandsLoc, result.operands))
7937 return ::mlir::failure();
7938 if (parser.resolveOperands(rhsOperands, odsBuildableType1, rhsOperandsLoc, result.operands))
7939 return ::mlir::failure();
7940 return ::mlir::success();
7949 _odsPrinter << caseValueStr;
7956 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
7957 elidedAttrs.push_back(
"pred");
7958 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
7961void IntCmpOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
7980 return attr.getValue();
7988 if (!tblgen_value)
return emitError(loc,
"'smt.int.constant' op ""requires attribute 'value'");
7990 if (tblgen_value && !((::llvm::isa<::mlir::IntegerAttr>(tblgen_value))))
7991 return emitError(loc,
"'smt.int.constant' op ""attribute 'value' failed to satisfy constraint: arbitrary integer attribute");
7992 return ::mlir::success();
7996 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
7998 emitError() <<
"expected DictionaryAttr to set properties";
7999 return ::mlir::failure();
8003 auto &propStorage = prop.
value;
8004 auto attr = dict.get(
"value");
8006 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
8007 if (convertedAttr) {
8008 propStorage = convertedAttr;
8010 emitError() <<
"Invalid attribute `value` in property conversion: " << attr;
8011 return ::mlir::failure();
8015 return ::mlir::success();
8019 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
8020 ::mlir::Builder odsBuilder{ctx};
8023 const auto &propStorage = prop.
value;
8025 attrs.push_back(odsBuilder.getNamedAttr(
"value",
8030 return odsBuilder.getDictionaryAttr(attrs);
8035 return llvm::hash_combine(
8036 llvm::hash_value(prop.
value.getAsOpaquePointer()));
8040 if (name ==
"value")
8042 return std::nullopt;
8046 if (name ==
"value") {
8047 prop.
value = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
value)>>(value);
8053 if (prop.
value) attrs.append(
"value", prop.
value);
8059 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT9(attr,
"value", emitError)))
8060 return ::mlir::failure();
8062 return ::mlir::success();
8066 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
8067 if (::mlir::failed(reader.readAttribute(prop.
value)))
8068 return ::mlir::failure();
8069 return ::mlir::success();
8073 auto &prop = getProperties(); (void)prop;
8074 writer.writeAttribute(prop.
value);
8079 return attr.getValue();
8082void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value) {
8083 odsState.getOrAddProperties<
Properties>().value = value;
8084 odsState.addTypes(result);
8087void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr value) {
8088 odsState.getOrAddProperties<
Properties>().value = value;
8090 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8092 odsState.location, odsState.operands,
8093 odsState.attributes.getDictionary(odsState.getContext()),
8094 odsState.getRawProperties(),
8095 odsState.regions, inferredReturnTypes)))
8096 odsState.addTypes(inferredReturnTypes);
8098 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8102void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr value) {
8103 odsState.getOrAddProperties<
Properties>().value = value;
8104 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8105 odsState.addTypes(resultTypes);
8108void IntConstantOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8109 assert(operands.size() == 0u &&
"mismatched number of parameters");
8110 odsState.addOperands(operands);
8111 odsState.addAttributes(attributes);
8112 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8113 odsState.addTypes(resultTypes);
8115 if (!attributes.empty()) {
8116 ::mlir::OpaqueProperties properties =
8118 std::optional<::mlir::RegisteredOperationName> info =
8119 odsState.name.getRegisteredInfo();
8120 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
8121 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
8122 ::llvm::report_fatal_error(
"Property conversion failed.");
8126void IntConstantOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8127 assert(operands.size() == 0u &&
"mismatched number of parameters");
8128 odsState.addOperands(operands);
8129 odsState.addAttributes(attributes);
8131 if (!attributes.empty()) {
8132 ::mlir::OpaqueProperties properties =
8134 std::optional<::mlir::RegisteredOperationName> info =
8135 odsState.name.getRegisteredInfo();
8136 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
8137 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
8138 ::llvm::report_fatal_error(
"Property conversion failed.");
8140 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8142 odsState.location, operands,
8143 odsState.attributes.getDictionary(odsState.getContext()),
8144 odsState.getRawProperties(),
8145 odsState.regions, inferredReturnTypes))) {
8146 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8147 odsState.addTypes(inferredReturnTypes);
8149 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8154 auto tblgen_value = getProperties().value; (void)tblgen_value;
8155 if (!tblgen_value)
return emitOpError(
"requires attribute 'value'");
8157 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT9(*
this, tblgen_value,
"value")))
8158 return ::mlir::failure();
8160 unsigned index = 0; (void)index;
8163 for (
auto v : valueGroup0) {
8164 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8165 return ::mlir::failure();
8168 return ::mlir::success();
8175::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) {
8176 inferredReturnTypes.resize(1);
8177 ::mlir::Builder odsBuilder(context);
8179 inferredReturnTypes[0] = odsInferredType0;
8180 return ::mlir::success();
8202 return ::mlir::success();
8205void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8206 odsState.addOperands(lhs);
8207 odsState.addOperands(rhs);
8208 odsState.addTypes(result);
8211void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8212 odsState.addOperands(lhs);
8213 odsState.addOperands(rhs);
8215 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8217 odsState.location, odsState.operands,
8218 odsState.attributes.getDictionary(odsState.getContext()),
8219 odsState.getRawProperties(),
8220 odsState.regions, inferredReturnTypes)))
8221 odsState.addTypes(inferredReturnTypes);
8223 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8227void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8228 odsState.addOperands(lhs);
8229 odsState.addOperands(rhs);
8230 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8231 odsState.addTypes(resultTypes);
8234void IntDivOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8235 assert(operands.size() == 2u &&
"mismatched number of parameters");
8236 odsState.addOperands(operands);
8237 odsState.addAttributes(attributes);
8238 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8239 odsState.addTypes(resultTypes);
8242void IntDivOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8243 assert(operands.size() == 2u &&
"mismatched number of parameters");
8244 odsState.addOperands(operands);
8245 odsState.addAttributes(attributes);
8247 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8249 odsState.location, operands,
8250 odsState.attributes.getDictionary(odsState.getContext()),
8251 odsState.getRawProperties(),
8252 odsState.regions, inferredReturnTypes))) {
8253 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8254 odsState.addTypes(inferredReturnTypes);
8256 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8262 unsigned index = 0; (void)index;
8265 for (
auto v : valueGroup0) {
8266 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8267 return ::mlir::failure();
8271 for (
auto v : valueGroup1) {
8272 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8273 return ::mlir::failure();
8277 unsigned index = 0; (void)index;
8280 for (
auto v : valueGroup0) {
8281 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8282 return ::mlir::failure();
8285 return ::mlir::success();
8292::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) {
8293 inferredReturnTypes.resize(1);
8294 ::mlir::Builder odsBuilder(context);
8296 inferredReturnTypes[0] = odsInferredType0;
8297 return ::mlir::success();
8300::mlir::ParseResult
IntDivOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8301 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8302 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8303 (void)lhsOperandsLoc;
8304 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8305 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8306 (void)rhsOperandsLoc;
8308 lhsOperandsLoc = parser.getCurrentLocation();
8309 if (parser.parseOperand(lhsRawOperand))
8310 return ::mlir::failure();
8311 if (parser.parseComma())
8312 return ::mlir::failure();
8314 rhsOperandsLoc = parser.getCurrentLocation();
8315 if (parser.parseOperand(rhsRawOperand))
8316 return ::mlir::failure();
8318 auto loc = parser.getCurrentLocation();(void)loc;
8319 if (parser.parseOptionalAttrDict(result.attributes))
8320 return ::mlir::failure();
8323 result.addTypes(odsBuildableType0);
8324 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8325 return ::mlir::failure();
8326 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8327 return ::mlir::failure();
8328 return ::mlir::success();
8337 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8338 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8341void IntDivOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8360 return ::mlir::success();
8363void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8364 odsState.addOperands(lhs);
8365 odsState.addOperands(rhs);
8366 odsState.addTypes(result);
8369void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8370 odsState.addOperands(lhs);
8371 odsState.addOperands(rhs);
8373 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8375 odsState.location, odsState.operands,
8376 odsState.attributes.getDictionary(odsState.getContext()),
8377 odsState.getRawProperties(),
8378 odsState.regions, inferredReturnTypes)))
8379 odsState.addTypes(inferredReturnTypes);
8381 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8385void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8386 odsState.addOperands(lhs);
8387 odsState.addOperands(rhs);
8388 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8389 odsState.addTypes(resultTypes);
8392void IntModOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8393 assert(operands.size() == 2u &&
"mismatched number of parameters");
8394 odsState.addOperands(operands);
8395 odsState.addAttributes(attributes);
8396 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8397 odsState.addTypes(resultTypes);
8400void IntModOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8401 assert(operands.size() == 2u &&
"mismatched number of parameters");
8402 odsState.addOperands(operands);
8403 odsState.addAttributes(attributes);
8405 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8407 odsState.location, operands,
8408 odsState.attributes.getDictionary(odsState.getContext()),
8409 odsState.getRawProperties(),
8410 odsState.regions, inferredReturnTypes))) {
8411 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8412 odsState.addTypes(inferredReturnTypes);
8414 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8420 unsigned index = 0; (void)index;
8423 for (
auto v : valueGroup0) {
8424 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8425 return ::mlir::failure();
8429 for (
auto v : valueGroup1) {
8430 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8431 return ::mlir::failure();
8435 unsigned index = 0; (void)index;
8438 for (
auto v : valueGroup0) {
8439 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8440 return ::mlir::failure();
8443 return ::mlir::success();
8450::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) {
8451 inferredReturnTypes.resize(1);
8452 ::mlir::Builder odsBuilder(context);
8454 inferredReturnTypes[0] = odsInferredType0;
8455 return ::mlir::success();
8458::mlir::ParseResult
IntModOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8459 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8460 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8461 (void)lhsOperandsLoc;
8462 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8463 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8464 (void)rhsOperandsLoc;
8466 lhsOperandsLoc = parser.getCurrentLocation();
8467 if (parser.parseOperand(lhsRawOperand))
8468 return ::mlir::failure();
8469 if (parser.parseComma())
8470 return ::mlir::failure();
8472 rhsOperandsLoc = parser.getCurrentLocation();
8473 if (parser.parseOperand(rhsRawOperand))
8474 return ::mlir::failure();
8476 auto loc = parser.getCurrentLocation();(void)loc;
8477 if (parser.parseOptionalAttrDict(result.attributes))
8478 return ::mlir::failure();
8481 result.addTypes(odsBuildableType0);
8482 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8483 return ::mlir::failure();
8484 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8485 return ::mlir::failure();
8486 return ::mlir::success();
8495 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8496 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8499void IntModOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8515 bool isVariadic[] = {
true};
8516 int prevVariadicCount = 0;
8517 for (
unsigned i = 0; i < index; ++i)
8518 if (isVariadic[i]) ++prevVariadicCount;
8522 int variadicSize = (odsOperandsSize - 0) / 1;
8527 int start = index + (variadicSize - 1) * prevVariadicCount;
8528 int size = isVariadic[index] ? variadicSize : 1;
8529 return {start, size};
8536 return ::mlir::success();
8540 bool isVariadic[] = {
true};
8541 int prevVariadicCount = 0;
8542 for (
unsigned i = 0; i < index; ++i)
8543 if (isVariadic[i]) ++prevVariadicCount;
8547 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
8552 int start = index + (variadicSize - 1) * prevVariadicCount;
8553 int size = isVariadic[index] ? variadicSize : 1;
8554 return {start, size};
8559 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
8560 return mutableRange;
8563void IntMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
8564 odsState.addOperands(inputs);
8565 odsState.addTypes(result);
8568void IntMulOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8569 odsState.addOperands(operands);
8570 odsState.addAttributes(attributes);
8571 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8572 odsState.addTypes(resultTypes);
8575void IntMulOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8576 odsState.addOperands(operands);
8577 odsState.addAttributes(attributes);
8579 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8581 odsState.location, operands,
8582 odsState.attributes.getDictionary(odsState.getContext()),
8583 odsState.getRawProperties(),
8584 odsState.regions, inferredReturnTypes))) {
8585 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8586 odsState.addTypes(inferredReturnTypes);
8588 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8594 unsigned index = 0; (void)index;
8597 for (
auto v : valueGroup0) {
8598 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT11(*
this, v.getType(),
"operand", index++)))
8599 return ::mlir::failure();
8603 unsigned index = 0; (void)index;
8606 for (
auto v : valueGroup0) {
8607 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8608 return ::mlir::failure();
8611 return ::mlir::success();
8618::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) {
8619 inferredReturnTypes.resize(1);
8620 ::mlir::Builder odsBuilder(context);
8622 inferredReturnTypes[0] = odsInferredType0;
8623 return ::mlir::success();
8626::mlir::ParseResult
IntMulOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8627 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
8628 ::llvm::SMLoc inputsOperandsLoc;
8629 (void)inputsOperandsLoc;
8631 inputsOperandsLoc = parser.getCurrentLocation();
8632 if (parser.parseOperandList(inputsOperands))
8633 return ::mlir::failure();
8635 auto loc = parser.getCurrentLocation();(void)loc;
8636 if (parser.parseOptionalAttrDict(result.attributes))
8637 return ::mlir::failure();
8640 result.addTypes(odsBuildableType0);
8641 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
8642 return ::mlir::failure();
8643 return ::mlir::success();
8649 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8650 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8653void IntMulOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8672 return ::mlir::success();
8675void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
8676 odsState.addOperands(input);
8677 odsState.addTypes(result);
8680void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
8681 odsState.addOperands(input);
8683 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8685 odsState.location, odsState.operands,
8686 odsState.attributes.getDictionary(odsState.getContext()),
8687 odsState.getRawProperties(),
8688 odsState.regions, inferredReturnTypes)))
8689 odsState.addTypes(inferredReturnTypes);
8691 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8695void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
8696 odsState.addOperands(input);
8697 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8698 odsState.addTypes(resultTypes);
8701void IntNegOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8702 assert(operands.size() == 1u &&
"mismatched number of parameters");
8703 odsState.addOperands(operands);
8704 odsState.addAttributes(attributes);
8705 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8706 odsState.addTypes(resultTypes);
8709void IntNegOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8710 assert(operands.size() == 1u &&
"mismatched number of parameters");
8711 odsState.addOperands(operands);
8712 odsState.addAttributes(attributes);
8714 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8716 odsState.location, operands,
8717 odsState.attributes.getDictionary(odsState.getContext()),
8718 odsState.getRawProperties(),
8719 odsState.regions, inferredReturnTypes))) {
8720 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8721 odsState.addTypes(inferredReturnTypes);
8723 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8729 unsigned index = 0; (void)index;
8732 for (
auto v : valueGroup0) {
8733 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8734 return ::mlir::failure();
8738 unsigned index = 0; (void)index;
8741 for (
auto v : valueGroup0) {
8742 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8743 return ::mlir::failure();
8746 return ::mlir::success();
8753::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) {
8754 inferredReturnTypes.resize(1);
8755 ::mlir::Builder odsBuilder(context);
8757 inferredReturnTypes[0] = odsInferredType0;
8758 return ::mlir::success();
8761::mlir::ParseResult
IntNegOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8762 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
8763 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
8764 (void)inputOperandsLoc;
8766 inputOperandsLoc = parser.getCurrentLocation();
8767 if (parser.parseOperand(inputRawOperand))
8768 return ::mlir::failure();
8770 auto loc = parser.getCurrentLocation();(void)loc;
8771 if (parser.parseOptionalAttrDict(result.attributes))
8772 return ::mlir::failure();
8775 result.addTypes(odsBuildableType0);
8776 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
8777 return ::mlir::failure();
8778 return ::mlir::success();
8784 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8785 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8788void IntNegOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8807 return ::mlir::success();
8810void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs) {
8811 odsState.addOperands(lhs);
8812 odsState.addOperands(rhs);
8813 odsState.addTypes(result);
8816void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs) {
8817 odsState.addOperands(lhs);
8818 odsState.addOperands(rhs);
8820 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8822 odsState.location, odsState.operands,
8823 odsState.attributes.getDictionary(odsState.getContext()),
8824 odsState.getRawProperties(),
8825 odsState.regions, inferredReturnTypes)))
8826 odsState.addTypes(inferredReturnTypes);
8828 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8832void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs) {
8833 odsState.addOperands(lhs);
8834 odsState.addOperands(rhs);
8835 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8836 odsState.addTypes(resultTypes);
8839void IntSubOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8840 assert(operands.size() == 2u &&
"mismatched number of parameters");
8841 odsState.addOperands(operands);
8842 odsState.addAttributes(attributes);
8843 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
8844 odsState.addTypes(resultTypes);
8847void IntSubOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
8848 assert(operands.size() == 2u &&
"mismatched number of parameters");
8849 odsState.addOperands(operands);
8850 odsState.addAttributes(attributes);
8852 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8854 odsState.location, operands,
8855 odsState.attributes.getDictionary(odsState.getContext()),
8856 odsState.getRawProperties(),
8857 odsState.regions, inferredReturnTypes))) {
8858 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
8859 odsState.addTypes(inferredReturnTypes);
8861 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
8867 unsigned index = 0; (void)index;
8870 for (
auto v : valueGroup0) {
8871 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8872 return ::mlir::failure();
8876 for (
auto v : valueGroup1) {
8877 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"operand", index++)))
8878 return ::mlir::failure();
8882 unsigned index = 0; (void)index;
8885 for (
auto v : valueGroup0) {
8886 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT9(*
this, v.getType(),
"result", index++)))
8887 return ::mlir::failure();
8890 return ::mlir::success();
8897::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) {
8898 inferredReturnTypes.resize(1);
8899 ::mlir::Builder odsBuilder(context);
8901 inferredReturnTypes[0] = odsInferredType0;
8902 return ::mlir::success();
8905::mlir::ParseResult
IntSubOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
8906 ::mlir::OpAsmParser::UnresolvedOperand lhsRawOperand{};
8907 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> lhsOperands(&lhsRawOperand, 1); ::llvm::SMLoc lhsOperandsLoc;
8908 (void)lhsOperandsLoc;
8909 ::mlir::OpAsmParser::UnresolvedOperand rhsRawOperand{};
8910 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> rhsOperands(&rhsRawOperand, 1); ::llvm::SMLoc rhsOperandsLoc;
8911 (void)rhsOperandsLoc;
8913 lhsOperandsLoc = parser.getCurrentLocation();
8914 if (parser.parseOperand(lhsRawOperand))
8915 return ::mlir::failure();
8916 if (parser.parseComma())
8917 return ::mlir::failure();
8919 rhsOperandsLoc = parser.getCurrentLocation();
8920 if (parser.parseOperand(rhsRawOperand))
8921 return ::mlir::failure();
8923 auto loc = parser.getCurrentLocation();(void)loc;
8924 if (parser.parseOptionalAttrDict(result.attributes))
8925 return ::mlir::failure();
8928 result.addTypes(odsBuildableType0);
8929 if (parser.resolveOperands(lhsOperands, odsBuildableType0, lhsOperandsLoc, result.operands))
8930 return ::mlir::failure();
8931 if (parser.resolveOperands(rhsOperands, odsBuildableType0, rhsOperandsLoc, result.operands))
8932 return ::mlir::failure();
8933 return ::mlir::success();
8942 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
8943 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
8946void IntSubOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
8965 return ::mlir::success();
8968void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
8969 odsState.addOperands(cond);
8970 odsState.addOperands(thenValue);
8971 odsState.addOperands(elseValue);
8972 odsState.addTypes(result);
8975void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
8976 odsState.addOperands(cond);
8977 odsState.addOperands(thenValue);
8978 odsState.addOperands(elseValue);
8980 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
8982 odsState.location, odsState.operands,
8983 odsState.attributes.getDictionary(odsState.getContext()),
8984 odsState.getRawProperties(),
8985 odsState.regions, inferredReturnTypes)))
8986 odsState.addTypes(inferredReturnTypes);
8988 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
8992void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue) {
8993 odsState.addOperands(cond);
8994 odsState.addOperands(thenValue);
8995 odsState.addOperands(elseValue);
8996 assert(resultTypes.size() == 1u &&
"mismatched number of results");
8997 odsState.addTypes(resultTypes);
9000void IteOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9001 assert(operands.size() == 3u &&
"mismatched number of parameters");
9002 odsState.addOperands(operands);
9003 odsState.addAttributes(attributes);
9004 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9005 odsState.addTypes(resultTypes);
9008void IteOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9009 assert(operands.size() == 3u &&
"mismatched number of parameters");
9010 odsState.addOperands(operands);
9011 odsState.addAttributes(attributes);
9013 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9015 odsState.location, operands,
9016 odsState.attributes.getDictionary(odsState.getContext()),
9017 odsState.getRawProperties(),
9018 odsState.regions, inferredReturnTypes))) {
9019 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9020 odsState.addTypes(inferredReturnTypes);
9022 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9028 unsigned index = 0; (void)index;
9031 for (
auto v : valueGroup0) {
9032 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
9033 return ::mlir::failure();
9037 for (
auto v : valueGroup1) {
9038 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
9039 return ::mlir::failure();
9043 for (
auto v : valueGroup2) {
9044 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"operand", index++)))
9045 return ::mlir::failure();
9049 unsigned index = 0; (void)index;
9052 for (
auto v : valueGroup0) {
9053 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT6(*
this, v.getType(),
"result", index++)))
9054 return ::mlir::failure();
9058 return emitOpError(
"failed to verify that all of {thenValue, elseValue, result} have same type");
9059 return ::mlir::success();
9066::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) {
9067 inferredReturnTypes.resize(1);
9068 ::mlir::Builder odsBuilder(context);
9069 if (operands.size() <= 2)
9070 return ::mlir::failure();
9071 ::mlir::Type odsInferredType0 = operands[2].getType();
9072 inferredReturnTypes[0] = odsInferredType0;
9073 return ::mlir::success();
9076::mlir::ParseResult
IteOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9077 ::mlir::OpAsmParser::UnresolvedOperand condRawOperand{};
9078 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> condOperands(&condRawOperand, 1); ::llvm::SMLoc condOperandsLoc;
9079 (void)condOperandsLoc;
9080 ::mlir::OpAsmParser::UnresolvedOperand thenValueRawOperand{};
9081 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> thenValueOperands(&thenValueRawOperand, 1); ::llvm::SMLoc thenValueOperandsLoc;
9082 (void)thenValueOperandsLoc;
9083 ::mlir::OpAsmParser::UnresolvedOperand elseValueRawOperand{};
9084 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> elseValueOperands(&elseValueRawOperand, 1); ::llvm::SMLoc elseValueOperandsLoc;
9085 (void)elseValueOperandsLoc;
9086 ::mlir::Type resultRawType{};
9087 ::llvm::ArrayRef<::mlir::Type> resultTypes(&resultRawType, 1);
9089 condOperandsLoc = parser.getCurrentLocation();
9090 if (parser.parseOperand(condRawOperand))
9091 return ::mlir::failure();
9092 if (parser.parseComma())
9093 return ::mlir::failure();
9095 thenValueOperandsLoc = parser.getCurrentLocation();
9096 if (parser.parseOperand(thenValueRawOperand))
9097 return ::mlir::failure();
9098 if (parser.parseComma())
9099 return ::mlir::failure();
9101 elseValueOperandsLoc = parser.getCurrentLocation();
9102 if (parser.parseOperand(elseValueRawOperand))
9103 return ::mlir::failure();
9105 auto loc = parser.getCurrentLocation();(void)loc;
9106 if (parser.parseOptionalAttrDict(result.attributes))
9107 return ::mlir::failure();
9109 if (parser.parseColon())
9110 return ::mlir::failure();
9112 if (parser.parseType(resultRawType))
9113 return ::mlir::failure();
9115 result.addTypes(resultTypes);
9116 if (parser.resolveOperands(condOperands, odsBuildableType0, condOperandsLoc, result.operands))
9117 return ::mlir::failure();
9118 if (parser.resolveOperands(thenValueOperands, resultTypes[0], thenValueOperandsLoc, result.operands))
9119 return ::mlir::failure();
9120 if (parser.resolveOperands(elseValueOperands, resultTypes[0], elseValueOperandsLoc, result.operands))
9121 return ::mlir::failure();
9122 return ::mlir::success();
9134 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9135 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9136 _odsPrinter <<
' ' <<
":";
9141void IteOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9160 return ::mlir::success();
9163void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
9164 odsState.addOperands(input);
9165 odsState.addTypes(result);
9168void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input) {
9169 odsState.addOperands(input);
9171 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9173 odsState.location, odsState.operands,
9174 odsState.attributes.getDictionary(odsState.getContext()),
9175 odsState.getRawProperties(),
9176 odsState.regions, inferredReturnTypes)))
9177 odsState.addTypes(inferredReturnTypes);
9179 ::mlir::detail::reportFatalInferReturnTypesError(odsState);
9183void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
9184 odsState.addOperands(input);
9185 assert(resultTypes.size() == 1u &&
"mismatched number of results");
9186 odsState.addTypes(resultTypes);
9189void NotOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9190 assert(operands.size() == 1u &&
"mismatched number of parameters");
9191 odsState.addOperands(operands);
9192 odsState.addAttributes(attributes);
9193 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9194 odsState.addTypes(resultTypes);
9197void NotOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9198 assert(operands.size() == 1u &&
"mismatched number of parameters");
9199 odsState.addOperands(operands);
9200 odsState.addAttributes(attributes);
9202 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9204 odsState.location, operands,
9205 odsState.attributes.getDictionary(odsState.getContext()),
9206 odsState.getRawProperties(),
9207 odsState.regions, inferredReturnTypes))) {
9208 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9209 odsState.addTypes(inferredReturnTypes);
9211 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9217 unsigned index = 0; (void)index;
9220 for (
auto v : valueGroup0) {
9221 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"operand", index++)))
9222 return ::mlir::failure();
9226 unsigned index = 0; (void)index;
9229 for (
auto v : valueGroup0) {
9230 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
9231 return ::mlir::failure();
9234 return ::mlir::success();
9241::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) {
9242 inferredReturnTypes.resize(1);
9243 ::mlir::Builder odsBuilder(context);
9245 inferredReturnTypes[0] = odsInferredType0;
9246 return ::mlir::success();
9249::mlir::ParseResult
NotOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9250 ::mlir::OpAsmParser::UnresolvedOperand inputRawOperand{};
9251 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> inputOperands(&inputRawOperand, 1); ::llvm::SMLoc inputOperandsLoc;
9252 (void)inputOperandsLoc;
9254 inputOperandsLoc = parser.getCurrentLocation();
9255 if (parser.parseOperand(inputRawOperand))
9256 return ::mlir::failure();
9258 auto loc = parser.getCurrentLocation();(void)loc;
9259 if (parser.parseOptionalAttrDict(result.attributes))
9260 return ::mlir::failure();
9263 result.addTypes(odsBuildableType0);
9264 if (parser.resolveOperands(inputOperands, odsBuildableType0, inputOperandsLoc, result.operands))
9265 return ::mlir::failure();
9266 return ::mlir::success();
9272 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9273 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9276void NotOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9292 bool isVariadic[] = {
true};
9293 int prevVariadicCount = 0;
9294 for (
unsigned i = 0; i < index; ++i)
9295 if (isVariadic[i]) ++prevVariadicCount;
9299 int variadicSize = (odsOperandsSize - 0) / 1;
9304 int start = index + (variadicSize - 1) * prevVariadicCount;
9305 int size = isVariadic[index] ? variadicSize : 1;
9306 return {start, size};
9313 return ::mlir::success();
9317 bool isVariadic[] = {
true};
9318 int prevVariadicCount = 0;
9319 for (
unsigned i = 0; i < index; ++i)
9320 if (isVariadic[i]) ++prevVariadicCount;
9324 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
9329 int start = index + (variadicSize - 1) * prevVariadicCount;
9330 int size = isVariadic[index] ? variadicSize : 1;
9331 return {start, size};
9336 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
9337 return mutableRange;
9340void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
9341 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
9345void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
9346 odsState.addOperands(inputs);
9347 odsState.addTypes(result);
9350void OrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9351 odsState.addOperands(operands);
9352 odsState.addAttributes(attributes);
9353 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9354 odsState.addTypes(resultTypes);
9357void OrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9358 odsState.addOperands(operands);
9359 odsState.addAttributes(attributes);
9361 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
9363 odsState.location, operands,
9364 odsState.attributes.getDictionary(odsState.getContext()),
9365 odsState.getRawProperties(),
9366 odsState.regions, inferredReturnTypes))) {
9367 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
9368 odsState.addTypes(inferredReturnTypes);
9370 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
9376 unsigned index = 0; (void)index;
9379 for (
auto v : valueGroup0) {
9380 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
9381 return ::mlir::failure();
9385 unsigned index = 0; (void)index;
9388 for (
auto v : valueGroup0) {
9389 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
9390 return ::mlir::failure();
9393 return ::mlir::success();
9400::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) {
9401 inferredReturnTypes.resize(1);
9402 ::mlir::Builder odsBuilder(context);
9404 inferredReturnTypes[0] = odsInferredType0;
9405 return ::mlir::success();
9408::mlir::ParseResult
OrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9409 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
9410 ::llvm::SMLoc inputsOperandsLoc;
9411 (void)inputsOperandsLoc;
9413 inputsOperandsLoc = parser.getCurrentLocation();
9414 if (parser.parseOperandList(inputsOperands))
9415 return ::mlir::failure();
9417 auto loc = parser.getCurrentLocation();(void)loc;
9418 if (parser.parseOptionalAttrDict(result.attributes))
9419 return ::mlir::failure();
9422 result.addTypes(odsBuildableType0);
9423 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
9424 return ::mlir::failure();
9425 return ::mlir::success();
9431 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9432 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9435void OrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9454 return attr.getValue().getZExtValue();
9462 if (!tblgen_count)
return emitError(loc,
"'smt.pop' op ""requires attribute 'count'");
9464 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()))))
9465 return emitError(loc,
"'smt.pop' op ""attribute 'count' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative");
9466 return ::mlir::success();
9470 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
9472 emitError() <<
"expected DictionaryAttr to set properties";
9473 return ::mlir::failure();
9477 auto &propStorage = prop.
count;
9478 auto attr = dict.get(
"count");
9480 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
9481 if (convertedAttr) {
9482 propStorage = convertedAttr;
9484 emitError() <<
"Invalid attribute `count` in property conversion: " << attr;
9485 return ::mlir::failure();
9489 return ::mlir::success();
9493 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
9494 ::mlir::Builder odsBuilder{ctx};
9497 const auto &propStorage = prop.
count;
9499 attrs.push_back(odsBuilder.getNamedAttr(
"count",
9504 return odsBuilder.getDictionaryAttr(attrs);
9509 return llvm::hash_combine(
9510 llvm::hash_value(prop.
count.getAsOpaquePointer()));
9514 if (name ==
"count")
9516 return std::nullopt;
9520 if (name ==
"count") {
9521 prop.
count = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
count)>>(value);
9527 if (prop.
count) attrs.append(
"count", prop.
count);
9530::llvm::LogicalResult
PopOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
9533 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(attr,
"count", emitError)))
9534 return ::mlir::failure();
9536 return ::mlir::success();
9540 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
9541 if (::mlir::failed(reader.readAttribute(prop.
count)))
9542 return ::mlir::failure();
9543 return ::mlir::success();
9547 auto &prop = getProperties(); (void)prop;
9548 writer.writeAttribute(prop.
count);
9553 return attr.getValue().getZExtValue();
9557 getProperties().count = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
9560void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count) {
9561 odsState.getOrAddProperties<
Properties>().count = count;
9564void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count) {
9565 odsState.getOrAddProperties<
Properties>().count = count;
9566 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9567 odsState.addTypes(resultTypes);
9570void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count) {
9571 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9574void PopOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count) {
9575 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9576 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9577 odsState.addTypes(resultTypes);
9580void PopOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9581 assert(operands.size() == 0u &&
"mismatched number of parameters");
9582 odsState.addOperands(operands);
9583 odsState.addAttributes(attributes);
9584 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9585 odsState.addTypes(resultTypes);
9587 if (!attributes.empty()) {
9588 ::mlir::OpaqueProperties properties =
9590 std::optional<::mlir::RegisteredOperationName> info =
9591 odsState.name.getRegisteredInfo();
9592 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
9593 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
9594 ::llvm::report_fatal_error(
"Property conversion failed.");
9599 auto tblgen_count = getProperties().count; (void)tblgen_count;
9600 if (!tblgen_count)
return emitOpError(
"requires attribute 'count'");
9602 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(*
this, tblgen_count,
"count")))
9603 return ::mlir::failure();
9604 return ::mlir::success();
9611::mlir::ParseResult
PopOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9612 ::mlir::IntegerAttr countAttr;
9614 if (parser.parseCustomAttributeWithFallback(countAttr, parser.getBuilder().getIntegerType(32))) {
9615 return ::mlir::failure();
9617 if (countAttr) result.getOrAddProperties<
PopOp::Properties>().count = countAttr;
9619 auto loc = parser.getCurrentLocation();(void)loc;
9620 if (parser.parseOptionalAttrDict(result.attributes))
9621 return ::mlir::failure();
9623 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
9625 return ::mlir::failure();
9627 return ::mlir::success();
9633 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9634 elidedAttrs.push_back(
"count");
9635 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9654 return attr.getValue().getZExtValue();
9662 if (!tblgen_count)
return emitError(loc,
"'smt.push' op ""requires attribute 'count'");
9664 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()))))
9665 return emitError(loc,
"'smt.push' op ""attribute 'count' failed to satisfy constraint: 32-bit signless integer attribute whose value is non-negative");
9666 return ::mlir::success();
9670 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
9672 emitError() <<
"expected DictionaryAttr to set properties";
9673 return ::mlir::failure();
9677 auto &propStorage = prop.
count;
9678 auto attr = dict.get(
"count");
9680 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
9681 if (convertedAttr) {
9682 propStorage = convertedAttr;
9684 emitError() <<
"Invalid attribute `count` in property conversion: " << attr;
9685 return ::mlir::failure();
9689 return ::mlir::success();
9693 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
9694 ::mlir::Builder odsBuilder{ctx};
9697 const auto &propStorage = prop.
count;
9699 attrs.push_back(odsBuilder.getNamedAttr(
"count",
9704 return odsBuilder.getDictionaryAttr(attrs);
9709 return llvm::hash_combine(
9710 llvm::hash_value(prop.
count.getAsOpaquePointer()));
9714 if (name ==
"count")
9716 return std::nullopt;
9720 if (name ==
"count") {
9721 prop.
count = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
count)>>(value);
9727 if (prop.
count) attrs.append(
"count", prop.
count);
9730::llvm::LogicalResult
PushOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
9733 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(attr,
"count", emitError)))
9734 return ::mlir::failure();
9736 return ::mlir::success();
9740 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
9741 if (::mlir::failed(reader.readAttribute(prop.
count)))
9742 return ::mlir::failure();
9743 return ::mlir::success();
9747 auto &prop = getProperties(); (void)prop;
9748 writer.writeAttribute(prop.
count);
9753 return attr.getValue().getZExtValue();
9757 getProperties().count = ::mlir::Builder((*this)->getContext()).getIntegerAttr(::mlir::Builder((*this)->getContext()).getIntegerType(32), attrValue);
9760void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count) {
9761 odsState.getOrAddProperties<
Properties>().count = count;
9764void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count) {
9765 odsState.getOrAddProperties<
Properties>().count = count;
9766 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9767 odsState.addTypes(resultTypes);
9770void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count) {
9771 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9774void PushOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count) {
9775 odsState.getOrAddProperties<
Properties>().count = odsBuilder.getIntegerAttr(odsBuilder.getIntegerType(32), count);
9776 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9777 odsState.addTypes(resultTypes);
9780void PushOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9781 assert(operands.size() == 0u &&
"mismatched number of parameters");
9782 odsState.addOperands(operands);
9783 odsState.addAttributes(attributes);
9784 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9785 odsState.addTypes(resultTypes);
9787 if (!attributes.empty()) {
9788 ::mlir::OpaqueProperties properties =
9790 std::optional<::mlir::RegisteredOperationName> info =
9791 odsState.name.getRegisteredInfo();
9792 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
9793 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
9794 ::llvm::report_fatal_error(
"Property conversion failed.");
9799 auto tblgen_count = getProperties().count; (void)tblgen_count;
9800 if (!tblgen_count)
return emitOpError(
"requires attribute 'count'");
9802 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT10(*
this, tblgen_count,
"count")))
9803 return ::mlir::failure();
9804 return ::mlir::success();
9811::mlir::ParseResult
PushOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9812 ::mlir::IntegerAttr countAttr;
9814 if (parser.parseCustomAttributeWithFallback(countAttr, parser.getBuilder().getIntegerType(32))) {
9815 return ::mlir::failure();
9819 auto loc = parser.getCurrentLocation();(void)loc;
9820 if (parser.parseOptionalAttrDict(result.attributes))
9821 return ::mlir::failure();
9823 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
9825 return ::mlir::failure();
9827 return ::mlir::success();
9833 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9834 elidedAttrs.push_back(
"count");
9835 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9854 return ::mlir::success();
9857void RepeatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input) {
9858 odsState.addOperands(input);
9859 odsState.addTypes(result);
9862void RepeatOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input) {
9863 odsState.addOperands(input);
9864 assert(resultTypes.size() == 1u &&
"mismatched number of results");
9865 odsState.addTypes(resultTypes);
9868void RepeatOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9869 assert(operands.size() == 1u &&
"mismatched number of parameters");
9870 odsState.addOperands(operands);
9871 odsState.addAttributes(attributes);
9872 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
9873 odsState.addTypes(resultTypes);
9878 unsigned index = 0; (void)index;
9881 for (
auto v : valueGroup0) {
9882 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"operand", index++)))
9883 return ::mlir::failure();
9887 unsigned index = 0; (void)index;
9890 for (
auto v : valueGroup0) {
9891 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT8(*
this, v.getType(),
"result", index++)))
9892 return ::mlir::failure();
9895 return ::mlir::success();
9900 return ::mlir::success();
9901 return ::mlir::failure();
9904void RepeatOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
9923 return ::mlir::success();
9926void ResetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState) {
9929void ResetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
9930 assert(resultTypes.size() == 0u &&
"mismatched number of results");
9931 odsState.addTypes(resultTypes);
9934void ResetOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
9935 assert(operands.size() == 0u &&
"mismatched number of parameters");
9936 odsState.addOperands(operands);
9937 odsState.addAttributes(attributes);
9938 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
9939 odsState.addTypes(resultTypes);
9943 return ::mlir::success();
9950::mlir::ParseResult
ResetOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
9952 auto loc = parser.getCurrentLocation();(void)loc;
9953 if (parser.parseOptionalAttrDict(result.attributes))
9954 return ::mlir::failure();
9956 return ::mlir::success();
9960 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
9961 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
9980 return attr.getValue();
9988 if (!tblgen_logic)
return emitError(loc,
"'smt.set_logic' op ""requires attribute 'logic'");
9990 if (tblgen_logic && !((::llvm::isa<::mlir::StringAttr>(tblgen_logic))))
9991 return emitError(loc,
"'smt.set_logic' op ""attribute 'logic' failed to satisfy constraint: string attribute");
9992 return ::mlir::success();
9996 ::mlir::DictionaryAttr dict = ::llvm::dyn_cast<::mlir::DictionaryAttr>(attr);
9998 emitError() <<
"expected DictionaryAttr to set properties";
9999 return ::mlir::failure();
10003 auto &propStorage = prop.
logic;
10004 auto attr = dict.get(
"logic");
10006 auto convertedAttr = ::llvm::dyn_cast<std::remove_reference_t<
decltype(propStorage)>>(attr);
10007 if (convertedAttr) {
10008 propStorage = convertedAttr;
10010 emitError() <<
"Invalid attribute `logic` in property conversion: " << attr;
10011 return ::mlir::failure();
10015 return ::mlir::success();
10019 ::mlir::SmallVector<::mlir::NamedAttribute> attrs;
10020 ::mlir::Builder odsBuilder{ctx};
10023 const auto &propStorage = prop.
logic;
10025 attrs.push_back(odsBuilder.getNamedAttr(
"logic",
10029 if (!attrs.empty())
10030 return odsBuilder.getDictionaryAttr(attrs);
10035 return llvm::hash_combine(
10036 llvm::hash_value(prop.
logic.getAsOpaquePointer()));
10040 if (name ==
"logic")
10042 return std::nullopt;
10046 if (name ==
"logic") {
10047 prop.
logic = ::llvm::dyn_cast_or_null<std::remove_reference_t<
decltype(prop.
logic)>>(value);
10053 if (prop.
logic) attrs.append(
"logic", prop.
logic);
10056::llvm::LogicalResult
SetLogicOp::verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError) {
10059 if (attr && ::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(attr,
"logic", emitError)))
10060 return ::mlir::failure();
10062 return ::mlir::success();
10066 auto &prop = state.getOrAddProperties<
Properties>(); (void)prop;
10067 if (::mlir::failed(reader.readAttribute(prop.
logic)))
10068 return ::mlir::failure();
10069 return ::mlir::success();
10073 auto &prop = getProperties(); (void)prop;
10074 writer.writeAttribute(prop.
logic);
10079 return attr.getValue();
10083 getProperties().logic = ::mlir::Builder((*this)->getContext()).getStringAttr(attrValue);
10086void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic) {
10087 odsState.getOrAddProperties<
Properties>().logic = logic;
10090void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr logic) {
10091 odsState.getOrAddProperties<
Properties>().logic = logic;
10092 assert(resultTypes.size() == 0u &&
"mismatched number of results");
10093 odsState.addTypes(resultTypes);
10096void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef logic) {
10097 odsState.getOrAddProperties<
Properties>().logic = odsBuilder.getStringAttr(logic);
10100void SetLogicOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef logic) {
10101 odsState.getOrAddProperties<
Properties>().logic = odsBuilder.getStringAttr(logic);
10102 assert(resultTypes.size() == 0u &&
"mismatched number of results");
10103 odsState.addTypes(resultTypes);
10106void SetLogicOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10107 assert(operands.size() == 0u &&
"mismatched number of parameters");
10108 odsState.addOperands(operands);
10109 odsState.addAttributes(attributes);
10110 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
10111 odsState.addTypes(resultTypes);
10113 if (!attributes.empty()) {
10114 ::mlir::OpaqueProperties properties =
10116 std::optional<::mlir::RegisteredOperationName> info =
10117 odsState.name.getRegisteredInfo();
10118 if (failed(info->setOpPropertiesFromAttribute(odsState.name, properties,
10119 odsState.attributes.getDictionary(odsState.getContext()),
nullptr)))
10120 ::llvm::report_fatal_error(
"Property conversion failed.");
10125 auto tblgen_logic = getProperties().logic; (void)tblgen_logic;
10126 if (!tblgen_logic)
return emitOpError(
"requires attribute 'logic'");
10128 if (::mlir::failed(__mlir_ods_local_attr_constraint_SMT5(*
this, tblgen_logic,
"logic")))
10129 return ::mlir::failure();
10130 return ::mlir::success();
10138 ::mlir::StringAttr logicAttr;
10140 if (parser.parseCustomAttributeWithFallback(logicAttr, parser.getBuilder().getType<::mlir::NoneType>())) {
10141 return ::mlir::failure();
10145 auto loc = parser.getCurrentLocation();(void)loc;
10146 if (parser.parseOptionalAttrDict(result.attributes))
10147 return ::mlir::failure();
10149 return parser.emitError(loc) <<
"'" << result.name.getStringRef() <<
"' op ";
10151 return ::mlir::failure();
10153 return ::mlir::success();
10157 _odsPrinter <<
' ';
10158 _odsPrinter.printAttributeWithoutType(
getLogicAttr());
10159 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10160 elidedAttrs.push_back(
"logic");
10161 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10177 bool isVariadic[] = {
true};
10178 int prevVariadicCount = 0;
10179 for (
unsigned i = 0; i < index; ++i)
10180 if (isVariadic[i]) ++prevVariadicCount;
10184 int variadicSize = (odsOperandsSize - 0) / 1;
10189 int start = index + (variadicSize - 1) * prevVariadicCount;
10190 int size = isVariadic[index] ? variadicSize : 1;
10191 return {start, size};
10198 return ::mlir::success();
10202 bool isVariadic[] = {
true};
10203 int prevVariadicCount = 0;
10204 for (
unsigned i = 0; i < index; ++i)
10205 if (isVariadic[i]) ++prevVariadicCount;
10209 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10214 int start = index + (variadicSize - 1) * prevVariadicCount;
10215 int size = isVariadic[index] ? variadicSize : 1;
10216 return {start, size};
10221 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10222 return mutableRange;
10226 bool isVariadic[] = {
true};
10227 int prevVariadicCount = 0;
10228 for (
unsigned i = 0; i < index; ++i)
10229 if (isVariadic[i]) ++prevVariadicCount;
10233 int variadicSize = (getOperation()->getNumResults() - 0) / 1;
10238 int start = index + (variadicSize - 1) * prevVariadicCount;
10239 int size = isVariadic[index] ? variadicSize : 1;
10240 return {start, size};
10243void SolverOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10244 odsState.addOperands(operands);
10245 odsState.addAttributes(attributes);
10246 for (
unsigned i = 0; i != 1; ++i)
10247 (
void)odsState.addRegion();
10248 odsState.addTypes(resultTypes);
10253 unsigned index = 0; (void)index;
10256 for (
auto v : valueGroup0) {
10257 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT12(*
this, v.getType(),
"operand", index++)))
10258 return ::mlir::failure();
10262 unsigned index = 0; (void)index;
10265 for (
auto v : valueGroup0) {
10266 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT12(*
this, v.getType(),
"result", index++)))
10267 return ::mlir::failure();
10271 unsigned index = 0; (void)index;
10273 for (
auto ®ion : ::llvm::MutableArrayRef((*this)->getRegion(0)))
10274 if (::mlir::failed(__mlir_ods_local_region_constraint_SMT1(*
this, region,
"bodyRegion", index++)))
10275 return ::mlir::failure();
10277 return ::mlir::success();
10284::mlir::ParseResult
SolverOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10285 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
10286 ::llvm::SMLoc inputsOperandsLoc;
10287 (void)inputsOperandsLoc;
10288 ::llvm::ArrayRef<::mlir::Type> inputsTypes;
10289 ::llvm::ArrayRef<::mlir::Type> resultsTypes;
10290 std::unique_ptr<::mlir::Region> bodyRegionRegion = std::make_unique<::mlir::Region>();
10291 if (parser.parseLParen())
10292 return ::mlir::failure();
10294 inputsOperandsLoc = parser.getCurrentLocation();
10295 if (parser.parseOperandList(inputsOperands))
10296 return ::mlir::failure();
10297 if (parser.parseRParen())
10298 return ::mlir::failure();
10300 auto loc = parser.getCurrentLocation();(void)loc;
10301 if (parser.parseOptionalAttrDict(result.attributes))
10302 return ::mlir::failure();
10304 if (parser.parseColon())
10305 return ::mlir::failure();
10307 ::mlir::FunctionType inputs__results_functionType;
10308 if (parser.parseType(inputs__results_functionType))
10309 return ::mlir::failure();
10310 inputsTypes = inputs__results_functionType.getInputs();
10311 resultsTypes = inputs__results_functionType.getResults();
10313 if (parser.parseRegion(*bodyRegionRegion))
10314 return ::mlir::failure();
10316 ensureTerminator(*bodyRegionRegion, parser.getBuilder(), result.location);
10317 result.addRegion(std::move(bodyRegionRegion));
10318 result.addTypes(resultsTypes);
10319 if (parser.resolveOperands(inputsOperands, inputsTypes, inputsOperandsLoc, result.operands))
10320 return ::mlir::failure();
10321 return ::mlir::success();
10325 _odsPrinter <<
"(";
10327 _odsPrinter <<
")";
10328 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10329 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10330 _odsPrinter <<
' ' <<
":";
10331 _odsPrinter <<
' ';
10333 _odsPrinter <<
' ';
10336 bool printTerminator =
true;
10338 printTerminator = !term->getAttrDictionary().empty() ||
10339 term->getNumOperands() != 0 ||
10340 term->getNumResults() != 0;
10360 bool isVariadic[] = {
true};
10361 int prevVariadicCount = 0;
10362 for (
unsigned i = 0; i < index; ++i)
10363 if (isVariadic[i]) ++prevVariadicCount;
10367 int variadicSize = (odsOperandsSize - 0) / 1;
10372 int start = index + (variadicSize - 1) * prevVariadicCount;
10373 int size = isVariadic[index] ? variadicSize : 1;
10374 return {start, size};
10381 return ::mlir::success();
10385 bool isVariadic[] = {
true};
10386 int prevVariadicCount = 0;
10387 for (
unsigned i = 0; i < index; ++i)
10388 if (isVariadic[i]) ++prevVariadicCount;
10392 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10397 int start = index + (variadicSize - 1) * prevVariadicCount;
10398 int size = isVariadic[index] ? variadicSize : 1;
10399 return {start, size};
10404 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10405 return mutableRange;
10408void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs) {
10409 build(odsBuilder, odsState, mlir::ValueRange{lhs, rhs});
10413void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs) {
10414 odsState.addOperands(inputs);
10415 odsState.addTypes(result);
10418void XOrOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10419 odsState.addOperands(operands);
10420 odsState.addAttributes(attributes);
10421 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
10422 odsState.addTypes(resultTypes);
10425void XOrOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10426 odsState.addOperands(operands);
10427 odsState.addAttributes(attributes);
10429 ::llvm::SmallVector<::mlir::Type, 2> inferredReturnTypes;
10431 odsState.location, operands,
10432 odsState.attributes.getDictionary(odsState.getContext()),
10433 odsState.getRawProperties(),
10434 odsState.regions, inferredReturnTypes))) {
10435 assert(inferredReturnTypes.size() == 1u &&
"mismatched number of return types");
10436 odsState.addTypes(inferredReturnTypes);
10438 ::llvm::report_fatal_error(
"Failed to infer result type(s).");
10444 unsigned index = 0; (void)index;
10447 for (
auto v : valueGroup0) {
10448 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT1(*
this, v.getType(),
"operand", index++)))
10449 return ::mlir::failure();
10453 unsigned index = 0; (void)index;
10456 for (
auto v : valueGroup0) {
10457 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT2(*
this, v.getType(),
"result", index++)))
10458 return ::mlir::failure();
10461 return ::mlir::success();
10468::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) {
10469 inferredReturnTypes.resize(1);
10470 ::mlir::Builder odsBuilder(context);
10472 inferredReturnTypes[0] = odsInferredType0;
10473 return ::mlir::success();
10476::mlir::ParseResult
XOrOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10477 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> inputsOperands;
10478 ::llvm::SMLoc inputsOperandsLoc;
10479 (void)inputsOperandsLoc;
10481 inputsOperandsLoc = parser.getCurrentLocation();
10482 if (parser.parseOperandList(inputsOperands))
10483 return ::mlir::failure();
10485 auto loc = parser.getCurrentLocation();(void)loc;
10486 if (parser.parseOptionalAttrDict(result.attributes))
10487 return ::mlir::failure();
10490 result.addTypes(odsBuildableType0);
10491 if (parser.resolveOperands(inputsOperands, odsBuildableType0, inputsOperandsLoc, result.operands))
10492 return ::mlir::failure();
10493 return ::mlir::success();
10497 _odsPrinter <<
' ';
10499 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10500 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10503void XOrOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
10519 bool isVariadic[] = {
true};
10520 int prevVariadicCount = 0;
10521 for (
unsigned i = 0; i < index; ++i)
10522 if (isVariadic[i]) ++prevVariadicCount;
10526 int variadicSize = (odsOperandsSize - 0) / 1;
10531 int start = index + (variadicSize - 1) * prevVariadicCount;
10532 int size = isVariadic[index] ? variadicSize : 1;
10533 return {start, size};
10540 return ::mlir::success();
10544 bool isVariadic[] = {
true};
10545 int prevVariadicCount = 0;
10546 for (
unsigned i = 0; i < index; ++i)
10547 if (isVariadic[i]) ++prevVariadicCount;
10551 int variadicSize = (getOperation()->getNumOperands() - 0) / 1;
10556 int start = index + (variadicSize - 1) * prevVariadicCount;
10557 int size = isVariadic[index] ? variadicSize : 1;
10558 return {start, size};
10563 auto mutableRange = ::mlir::MutableOperandRange(getOperation(), range.first, range.second);
10564 return mutableRange;
10568 build(odsBuilder, odsState, {});
10572void YieldOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange values) {
10573 odsState.addOperands(values);
10576void YieldOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
10577 odsState.addOperands(operands);
10578 odsState.addAttributes(attributes);
10579 assert(resultTypes.size() == 0u &&
"mismatched number of return types");
10580 odsState.addTypes(resultTypes);
10585 unsigned index = 0; (void)index;
10588 for (
auto v : valueGroup0) {
10589 if (::mlir::failed(__mlir_ods_local_type_constraint_SMT10(*
this, v.getType(),
"operand", index++)))
10590 return ::mlir::failure();
10593 return ::mlir::success();
10600::mlir::ParseResult
YieldOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
10601 ::llvm::SmallVector<::mlir::OpAsmParser::UnresolvedOperand, 4> valuesOperands;
10602 ::llvm::SMLoc valuesOperandsLoc;
10603 (void)valuesOperandsLoc;
10604 ::llvm::SmallVector<::mlir::Type, 1> valuesTypes;
10606 valuesOperandsLoc = parser.getCurrentLocation();
10607 if (parser.parseOperandList(valuesOperands))
10608 return ::mlir::failure();
10609 if (!valuesOperands.empty()) {
10610 if (parser.parseColon())
10611 return ::mlir::failure();
10613 if (parser.parseTypeList(valuesTypes))
10614 return ::mlir::failure();
10617 auto loc = parser.getCurrentLocation();(void)loc;
10618 if (parser.parseOptionalAttrDict(result.attributes))
10619 return ::mlir::failure();
10621 if (parser.resolveOperands(valuesOperands, valuesTypes, valuesOperandsLoc, result.operands))
10622 return ::mlir::failure();
10623 return ::mlir::success();
10628 _odsPrinter <<
' ';
10630 _odsPrinter <<
' ' <<
":";
10631 _odsPrinter <<
' ';
10634 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
10635 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
10638void YieldOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
10642 ::mlir::RegionBranchPoint point) {
10643 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)
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::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