LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.h.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op Declarations *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10namespace llzk::boolean {
11
27class ExistsOp;
28
29} // namespace llzk::boolean
30namespace llzk::boolean {
31
47class ForAllOp;
48
49} // namespace llzk::boolean
50namespace llzk::boolean {
51
57class AndBoolOp;
58
59} // namespace llzk::boolean
60namespace llzk::boolean {
61
80class AssertOp;
81
82} // namespace llzk::boolean
83namespace llzk::boolean {
84
117class CmpOp;
118
119} // namespace llzk::boolean
120namespace llzk::boolean {
121
127class NotBoolOp;
128
129} // namespace llzk::boolean
130namespace llzk::boolean {
131
137class OrBoolOp;
138
139} // namespace llzk::boolean
140namespace llzk::boolean {
141
147class XorBoolOp;
148
149} // namespace llzk::boolean
150namespace llzk::boolean {
151
155class YieldOp;
156
157} // namespace llzk::boolean
158#ifdef GET_OP_CLASSES
159#undef GET_OP_CLASSES
160
161namespace llzk::boolean {
162
163
164//===----------------------------------------------------------------------===//
165// ::llzk::boolean::ExistsOp declarations
166//===----------------------------------------------------------------------===//
167
168namespace detail {
169
171public:
172 using Properties = ::mlir::EmptyProperties;
173protected:
174 ::mlir::DictionaryAttr odsAttrs;
175 ::std::optional<::mlir::OperationName> odsOpName;
177 ::mlir::RegionRange odsRegions;
178public:
179 ExistsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
180 odsOpName.emplace("bool.exists", odsAttrs.getContext());
181 }
182
184
185 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
186 return {index, 1};
187 }
188
190 return properties;
191 }
192
193 ::mlir::DictionaryAttr getAttributes() {
194 return odsAttrs;
195 }
196
197 ::mlir::Region &getRegion() {
198 return *odsRegions[0];
199 }
200
201 ::mlir::RegionRange getRegions() {
202 return odsRegions;
203 }
204
205};
206
207} // namespace detail
208template <typename RangeT>
210 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
212 static constexpr int odsIndex_sort = 0;
213public:
214 ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
215
216 ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : ExistsOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
217
218 ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : ExistsOpGenericAdaptor(values, attrs, Properties{}, {}) {}
219
220 ExistsOpGenericAdaptor(RangeT values, const ExistsOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
221
222 template <typename LateInst = ExistsOp, typename = std::enable_if_t<std::is_same_v<LateInst, ExistsOp>>>
223 ExistsOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
224
225 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
226 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
227 }
228
229 RangeT getODSOperands(unsigned index) {
230 auto valueRange = getODSOperandIndexAndLength(index);
231 return {std::next(odsOperands.begin(), valueRange.first),
232 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
233 }
234
235 ValueT getSort() {
236 return (*getODSOperands(0).begin());
237 }
238
239 RangeT getOperands() {
240 return odsOperands;
241 }
242
243private:
244 RangeT odsOperands;
245};
246class ExistsOpAdaptor : public ExistsOpGenericAdaptor<::mlir::ValueRange> {
247public:
250
251 ::llvm::LogicalResult verify(::mlir::Location loc);
252};
253class ExistsOp : public ::mlir::Op<ExistsOp, ::mlir::OpTrait::OneRegion, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
254public:
255 using Op::Op;
256 using Op::print;
258 template <typename RangeT>
261 static constexpr int odsIndex_sort = 0;
263 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
264 return {};
265 }
266
267 static constexpr ::llvm::StringLiteral getOperationName() {
268 return ::llvm::StringLiteral("bool.exists");
269 }
270
271 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
272 return {index, 1};
273 }
274
275 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
276 auto valueRange = getODSOperandIndexAndLength(index);
277 return {std::next(getOperation()->operand_begin(), valueRange.first),
278 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
279 }
280
281 ::mlir::TypedValue<::llzk::array::ArrayType> getSort() {
282 return ::llvm::cast<::mlir::TypedValue<::llzk::array::ArrayType>>(*getODSOperands(0).begin());
283 }
284
285 ::mlir::OpOperand &getSortMutable() {
286 auto range = getODSOperandIndexAndLength(0);
287 return getOperation()->getOpOperand(range.first);
288 }
289
290 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
291 return {index, 1};
292 }
293
294 ::mlir::Operation::result_range getODSResults(unsigned index) {
295 auto valueRange = getODSResultIndexAndLength(index);
296 return {std::next(getOperation()->result_begin(), valueRange.first),
297 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
298 }
299
300 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
301 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
302 }
303
304 ::mlir::Region &getRegion() {
305 return (*this)->getRegion(0);
306 }
307
308 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
309 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
310 static llvm::hash_code computePropertiesHash(const Properties &prop);
311 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
312 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
313 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
314 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
315 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort);
316 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort);
317 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value sort);
318 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort);
319 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value sort);
320 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value sort);
321 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
322 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
323 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
324 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
325 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
326 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
327 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
328 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
329 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
330 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
331 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
332 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
333 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
334 static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
335 static ExistsOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
336 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
337 void print(::mlir::OpAsmPrinter &p);
338 ::llvm::LogicalResult verifyInvariantsImpl();
339 ::llvm::LogicalResult verifyInvariants();
340 ::llvm::LogicalResult verify();
341 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
342 static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
343 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
344public:
345};
346
347} // namespace llzk::boolean
348MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::ExistsOp)
349
350namespace llzk::boolean {
351
352
353//===----------------------------------------------------------------------===//
354// ::llzk::boolean::ForAllOp declarations
355//===----------------------------------------------------------------------===//
356
357namespace detail {
358
360public:
361 using Properties = ::mlir::EmptyProperties;
362protected:
363 ::mlir::DictionaryAttr odsAttrs;
364 ::std::optional<::mlir::OperationName> odsOpName;
366 ::mlir::RegionRange odsRegions;
367public:
368 ForAllOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
369 odsOpName.emplace("bool.forall", odsAttrs.getContext());
370 }
371
373
374 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
375 return {index, 1};
376 }
377
379 return properties;
380 }
381
382 ::mlir::DictionaryAttr getAttributes() {
383 return odsAttrs;
384 }
385
386 ::mlir::Region &getRegion() {
387 return *odsRegions[0];
388 }
389
390 ::mlir::RegionRange getRegions() {
391 return odsRegions;
392 }
393
394};
395
396} // namespace detail
397template <typename RangeT>
399 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
401 static constexpr int odsIndex_sort = 0;
402public:
403 ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
404
405 ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : ForAllOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
406
407 ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : ForAllOpGenericAdaptor(values, attrs, Properties{}, {}) {}
408
409 ForAllOpGenericAdaptor(RangeT values, const ForAllOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
410
411 template <typename LateInst = ForAllOp, typename = std::enable_if_t<std::is_same_v<LateInst, ForAllOp>>>
412 ForAllOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
413
414 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
415 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
416 }
417
418 RangeT getODSOperands(unsigned index) {
419 auto valueRange = getODSOperandIndexAndLength(index);
420 return {std::next(odsOperands.begin(), valueRange.first),
421 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
422 }
423
424 ValueT getSort() {
425 return (*getODSOperands(0).begin());
426 }
427
428 RangeT getOperands() {
429 return odsOperands;
430 }
431
432private:
433 RangeT odsOperands;
434};
435class ForAllOpAdaptor : public ForAllOpGenericAdaptor<::mlir::ValueRange> {
436public:
439
440 ::llvm::LogicalResult verify(::mlir::Location loc);
441};
442class ForAllOp : public ::mlir::Op<ForAllOp, ::mlir::OpTrait::OneRegion, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
443public:
444 using Op::Op;
445 using Op::print;
447 template <typename RangeT>
450 static constexpr int odsIndex_sort = 0;
452 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
453 return {};
454 }
455
456 static constexpr ::llvm::StringLiteral getOperationName() {
457 return ::llvm::StringLiteral("bool.forall");
458 }
459
460 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
461 return {index, 1};
462 }
463
464 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
465 auto valueRange = getODSOperandIndexAndLength(index);
466 return {std::next(getOperation()->operand_begin(), valueRange.first),
467 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
468 }
469
470 ::mlir::TypedValue<::llzk::array::ArrayType> getSort() {
471 return ::llvm::cast<::mlir::TypedValue<::llzk::array::ArrayType>>(*getODSOperands(0).begin());
472 }
473
474 ::mlir::OpOperand &getSortMutable() {
475 auto range = getODSOperandIndexAndLength(0);
476 return getOperation()->getOpOperand(range.first);
477 }
478
479 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
480 return {index, 1};
481 }
482
483 ::mlir::Operation::result_range getODSResults(unsigned index) {
484 auto valueRange = getODSResultIndexAndLength(index);
485 return {std::next(getOperation()->result_begin(), valueRange.first),
486 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
487 }
488
489 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
490 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
491 }
492
493 ::mlir::Region &getRegion() {
494 return (*this)->getRegion(0);
495 }
496
497 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
498 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
499 static llvm::hash_code computePropertiesHash(const Properties &prop);
500 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
501 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
502 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
503 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
504 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort);
505 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort);
506 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value sort);
507 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value sort);
508 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value sort);
509 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value sort);
510 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
511 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
512 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value sort);
513 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
514 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
515 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
516 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
517 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
518 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
519 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
520 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
521 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
522 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
523 static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
524 static ForAllOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
525 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
526 void print(::mlir::OpAsmPrinter &p);
527 ::llvm::LogicalResult verifyInvariantsImpl();
528 ::llvm::LogicalResult verifyInvariants();
529 ::llvm::LogicalResult verify();
530 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
531 static ::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
532 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
533public:
534};
535
536} // namespace llzk::boolean
537MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::ForAllOp)
538
539namespace llzk::boolean {
540
541
542//===----------------------------------------------------------------------===//
543// ::llzk::boolean::AndBoolOp declarations
544//===----------------------------------------------------------------------===//
545
546namespace detail {
547
549public:
550 using Properties = ::mlir::EmptyProperties;
551protected:
552 ::mlir::DictionaryAttr odsAttrs;
553 ::std::optional<::mlir::OperationName> odsOpName;
555 ::mlir::RegionRange odsRegions;
556public:
557 AndBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
558 odsOpName.emplace("bool.and", odsAttrs.getContext());
559 }
560
562
563 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
564 return {index, 1};
565 }
566
568 return properties;
569 }
570
571 ::mlir::DictionaryAttr getAttributes() {
572 return odsAttrs;
573 }
574
575};
576
577} // namespace detail
578template <typename RangeT>
580 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
582 static constexpr int odsIndex_lhs = 0;
583 static constexpr int odsIndex_rhs = 1;
584public:
585 AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
586
587 AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : AndBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
588
589 AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : AndBoolOpGenericAdaptor(values, attrs, Properties{}, {}) {}
590
591 AndBoolOpGenericAdaptor(RangeT values, const AndBoolOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
592
593 template <typename LateInst = AndBoolOp, typename = std::enable_if_t<std::is_same_v<LateInst, AndBoolOp>>>
594 AndBoolOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
595
596 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
597 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
598 }
599
600 RangeT getODSOperands(unsigned index) {
601 auto valueRange = getODSOperandIndexAndLength(index);
602 return {std::next(odsOperands.begin(), valueRange.first),
603 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
604 }
605
606 ValueT getLhs() {
607 return (*getODSOperands(0).begin());
608 }
609
610 ValueT getRhs() {
611 return (*getODSOperands(1).begin());
612 }
613
614 RangeT getOperands() {
615 return odsOperands;
616 }
617
618private:
619 RangeT odsOperands;
620};
621class AndBoolOpAdaptor : public AndBoolOpGenericAdaptor<::mlir::ValueRange> {
622public:
625
626 ::llvm::LogicalResult verify(::mlir::Location loc);
627};
628class AndBoolOp : public ::mlir::Op<AndBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
629public:
630 using Op::Op;
631 using Op::print;
633 template <typename RangeT>
636 static constexpr int odsIndex_lhs = 0;
637 static constexpr int odsIndex_rhs = 1;
639 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
640 return {};
641 }
642
643 static constexpr ::llvm::StringLiteral getOperationName() {
644 return ::llvm::StringLiteral("bool.and");
645 }
646
647 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
648 return {index, 1};
649 }
650
651 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
652 auto valueRange = getODSOperandIndexAndLength(index);
653 return {std::next(getOperation()->operand_begin(), valueRange.first),
654 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
655 }
656
657 ::mlir::TypedValue<::mlir::Type> getLhs() {
658 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(0).begin());
659 }
660
661 ::mlir::TypedValue<::mlir::Type> getRhs() {
662 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(1).begin());
663 }
664
665 ::mlir::OpOperand &getLhsMutable() {
666 auto range = getODSOperandIndexAndLength(0);
667 return getOperation()->getOpOperand(range.first);
668 }
669
670 ::mlir::OpOperand &getRhsMutable() {
671 auto range = getODSOperandIndexAndLength(1);
672 return getOperation()->getOpOperand(range.first);
673 }
674
675 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
676 return {index, 1};
677 }
678
679 ::mlir::Operation::result_range getODSResults(unsigned index) {
680 auto valueRange = getODSResultIndexAndLength(index);
681 return {std::next(getOperation()->result_begin(), valueRange.first),
682 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
683 }
684
685 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
686 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
687 }
688
689 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
690 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
691 static llvm::hash_code computePropertiesHash(const Properties &prop);
692 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
693 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
694 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
695 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
696 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
697 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
698 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
699 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
700 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs);
701 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value lhs, ::mlir::Value rhs);
702 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
703 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
704 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
705 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
706 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
707 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
708 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
709 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
710 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
711 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
712 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
713 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
714 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
715 static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
716 static AndBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
717 ::llvm::LogicalResult verifyInvariantsImpl();
718 ::llvm::LogicalResult verifyInvariants();
719 ::mlir::OpFoldResult fold(FoldAdaptor adaptor);
720 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
721 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
722 void print(::mlir::OpAsmPrinter &_odsPrinter);
723 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
724public:
725 private:
726 static ::mlir::ParseResult parseInferredOrParsedType(
727 ::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst
728 ) {
729 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
730 // If there is a comma, parse the `opType`
731 mlir::Type type;
732 if (parser.parseCustomTypeWithFallback(type)) {
733 return mlir::failure();
734 }
735 opType = type;
736 } else {
737 // Otherwise, build the default type
738 opType =
739 parser.getBuilder().getIntegerType(1);
740 }
741 return mlir::success();
742 }
743
744 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
745 ::mlir::Operation *op, ::mlir::Type opType, bool isFirst
746 ) {
747 printer << (isFirst ? " : " : ", ");
748 printer.printStrippedAttrOrType(opType);
749 }
750};
751
752} // namespace llzk::boolean
753MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::AndBoolOp)
754
755namespace llzk::boolean {
756
757
758//===----------------------------------------------------------------------===//
759// ::llzk::boolean::AssertOp declarations
760//===----------------------------------------------------------------------===//
761
762namespace detail {
763
765public:
766 struct Properties {
767 using msgTy = ::mlir::StringAttr;
769
770 auto getMsg() const {
771 auto &propStorage = this->msg;
772 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(propStorage);
773 }
774 void setMsg(const ::mlir::StringAttr &propValue) {
775 this->msg = propValue;
776 }
777 bool operator==(const Properties &rhs) const {
778 return
779 rhs.msg == this->msg &&
780 true;
781 }
782 bool operator!=(const Properties &rhs) const {
783 return !(*this == rhs);
784 }
785 };
786protected:
787 ::mlir::DictionaryAttr odsAttrs;
788 ::std::optional<::mlir::OperationName> odsOpName;
790 ::mlir::RegionRange odsRegions;
791public:
792 AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
793 odsOpName.emplace("bool.assert", odsAttrs.getContext());
794 }
795
797
798 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
799 return {index, 1};
800 }
801
803 return properties;
804 }
805
806 ::mlir::DictionaryAttr getAttributes() {
807 return odsAttrs;
808 }
809
810 ::mlir::StringAttr getMsgAttr() {
811 auto attr = ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().msg);
812 return attr;
813 }
814
815 ::std::optional< ::llvm::StringRef > getMsg();
816};
817
818} // namespace detail
819template <typename RangeT>
821 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
823 static constexpr int odsIndex_condition = 0;
824public:
825 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
826
827 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : AssertOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
828
829 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : AssertOpGenericAdaptor(values, attrs, Properties{}, {}) {}
830
831 AssertOpGenericAdaptor(RangeT values, const AssertOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
832
833 template <typename LateInst = AssertOp, typename = std::enable_if_t<std::is_same_v<LateInst, AssertOp>>>
834 AssertOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
835
836 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
837 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
838 }
839
840 RangeT getODSOperands(unsigned index) {
841 auto valueRange = getODSOperandIndexAndLength(index);
842 return {std::next(odsOperands.begin(), valueRange.first),
843 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
844 }
845
846 ValueT getCondition() {
847 return (*getODSOperands(0).begin());
848 }
849
850 RangeT getOperands() {
851 return odsOperands;
852 }
853
854private:
855 RangeT odsOperands;
856};
857class AssertOpAdaptor : public AssertOpGenericAdaptor<::mlir::ValueRange> {
858public:
861
862 ::llvm::LogicalResult verify(::mlir::Location loc);
863};
864class AssertOp : public ::mlir::Op<AssertOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {
865public:
866 using Op::Op;
867 using Op::print;
869 template <typename RangeT>
872 static constexpr int odsIndex_condition = 0;
874 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
875 static ::llvm::StringRef attrNames[] = {::llvm::StringRef("msg")};
876 return ::llvm::ArrayRef(attrNames);
877 }
878
879 ::mlir::StringAttr getMsgAttrName() {
880 return getAttributeNameForIndex(0);
881 }
882
883 static ::mlir::StringAttr getMsgAttrName(::mlir::OperationName name) {
884 return getAttributeNameForIndex(name, 0);
885 }
886
887 static constexpr ::llvm::StringLiteral getOperationName() {
888 return ::llvm::StringLiteral("bool.assert");
889 }
890
891 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
892 return {index, 1};
893 }
894
895 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
896 auto valueRange = getODSOperandIndexAndLength(index);
897 return {std::next(getOperation()->operand_begin(), valueRange.first),
898 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
899 }
900
901 ::mlir::TypedValue<::mlir::IntegerType> getCondition() {
902 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSOperands(0).begin());
903 }
904
905 ::mlir::OpOperand &getConditionMutable() {
906 auto range = getODSOperandIndexAndLength(0);
907 return getOperation()->getOpOperand(range.first);
908 }
909
910 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
911 return {index, 1};
912 }
913
914 ::mlir::Operation::result_range getODSResults(unsigned index) {
915 auto valueRange = getODSResultIndexAndLength(index);
916 return {std::next(getOperation()->result_begin(), valueRange.first),
917 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
918 }
919
920 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
921 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
922 static llvm::hash_code computePropertiesHash(const Properties &prop);
923 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
924 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
925 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
926 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
927 static ::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
928 void writeProperties(::mlir::DialectBytecodeWriter &writer);
929 ::mlir::StringAttr getMsgAttr() {
930 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().msg);
931 }
932
933 ::std::optional< ::llvm::StringRef > getMsg();
934 void setMsgAttr(::mlir::StringAttr attr) {
935 getProperties().msg = attr;
936 }
937
938 void setMsg(::std::optional<::llvm::StringRef> attrValue);
939 ::mlir::Attribute removeMsgAttr() {
940 auto attr = getProperties().msg;
941 getProperties().msg = {};
942 return attr;
943 }
944
945 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
946 static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
947 static AssertOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
948 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
949 static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
950 static AssertOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value condition, /*optional*/::mlir::StringAttr msg);
951 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
952 static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
953 static AssertOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
954 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
955 static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
956 static AssertOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
957 ::llvm::LogicalResult verifyInvariantsImpl();
958 ::llvm::LogicalResult verifyInvariants();
959 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
960 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
961 void print(::mlir::OpAsmPrinter &_odsPrinter);
962private:
963 ::mlir::StringAttr getAttributeNameForIndex(unsigned index) {
964 return getAttributeNameForIndex((*this)->getName(), index);
965 }
966
967 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name, unsigned index) {
968 assert(index < 1 && "invalid attribute index");
969 assert(name.getStringRef() == getOperationName() && "invalid operation name");
970 assert(name.isRegistered() && "Operation isn't registered, missing a "
971 "dependent dialect loading?");
972 return name.getAttributeNames()[index];
973 }
974
975public:
976};
977
978} // namespace llzk::boolean
979MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::AssertOp)
981
982namespace llzk::boolean {
983
984
985//===----------------------------------------------------------------------===//
986// ::llzk::boolean::CmpOp declarations
987//===----------------------------------------------------------------------===//
988
989namespace detail {
990
992public:
993 struct Properties {
994 using predicateTy = ::llzk::boolean::FeltCmpPredicateAttr;
996
997 auto getPredicate() const {
998 auto &propStorage = this->predicate;
999 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(propStorage);
1000 }
1001 void setPredicate(const ::llzk::boolean::FeltCmpPredicateAttr &propValue) {
1002 this->predicate = propValue;
1003 }
1004 bool operator==(const Properties &rhs) const {
1005 return
1006 rhs.predicate == this->predicate &&
1007 true;
1008 }
1009 bool operator!=(const Properties &rhs) const {
1010 return !(*this == rhs);
1011 }
1012 };
1013protected:
1014 ::mlir::DictionaryAttr odsAttrs;
1015 ::std::optional<::mlir::OperationName> odsOpName;
1017 ::mlir::RegionRange odsRegions;
1018public:
1019 CmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
1020 odsOpName.emplace("bool.cmp", odsAttrs.getContext());
1021 }
1022
1024
1025 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
1026 return {index, 1};
1027 }
1028
1030 return properties;
1031 }
1032
1033 ::mlir::DictionaryAttr getAttributes() {
1034 return odsAttrs;
1035 }
1036
1037 ::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr() {
1038 auto attr = ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(getProperties().predicate);
1039 return attr;
1040 }
1041
1043};
1044
1045} // namespace detail
1046template <typename RangeT>
1048 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1050 static constexpr int odsIndex_lhs = 0;
1051 static constexpr int odsIndex_rhs = 1;
1052public:
1053 CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1054
1055 CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : CmpOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
1056
1057 CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : CmpOpGenericAdaptor(values, attrs, Properties{}, {}) {}
1058
1059 CmpOpGenericAdaptor(RangeT values, const CmpOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
1060
1061 template <typename LateInst = CmpOp, typename = std::enable_if_t<std::is_same_v<LateInst, CmpOp>>>
1062 CmpOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
1063
1064 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1065 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
1066 }
1067
1068 RangeT getODSOperands(unsigned index) {
1069 auto valueRange = getODSOperandIndexAndLength(index);
1070 return {std::next(odsOperands.begin(), valueRange.first),
1071 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1072 }
1073
1074 ValueT getLhs() {
1075 return (*getODSOperands(0).begin());
1076 }
1077
1078 ValueT getRhs() {
1079 return (*getODSOperands(1).begin());
1080 }
1081
1082 RangeT getOperands() {
1083 return odsOperands;
1084 }
1085
1086private:
1087 RangeT odsOperands;
1088};
1089class CmpOpAdaptor : public CmpOpGenericAdaptor<::mlir::ValueRange> {
1090public:
1092 CmpOpAdaptor(CmpOp op);
1093
1094 ::llvm::LogicalResult verify(::mlir::Location loc);
1095};
1096class CmpOp : public ::mlir::Op<CmpOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1097public:
1098 using Op::Op;
1099 using Op::print;
1101 template <typename RangeT>
1104 static constexpr int odsIndex_lhs = 0;
1105 static constexpr int odsIndex_rhs = 1;
1107 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
1108 static ::llvm::StringRef attrNames[] = {::llvm::StringRef("predicate")};
1109 return ::llvm::ArrayRef(attrNames);
1110 }
1111
1112 ::mlir::StringAttr getPredicateAttrName() {
1113 return getAttributeNameForIndex(0);
1114 }
1115
1116 static ::mlir::StringAttr getPredicateAttrName(::mlir::OperationName name) {
1117 return getAttributeNameForIndex(name, 0);
1118 }
1119
1120 static constexpr ::llvm::StringLiteral getOperationName() {
1121 return ::llvm::StringLiteral("bool.cmp");
1122 }
1123
1124 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1125 return {index, 1};
1126 }
1127
1128 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
1129 auto valueRange = getODSOperandIndexAndLength(index);
1130 return {std::next(getOperation()->operand_begin(), valueRange.first),
1131 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1132 }
1133
1134 ::mlir::TypedValue<::llzk::felt::FeltType> getLhs() {
1135 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*getODSOperands(0).begin());
1136 }
1137
1138 ::mlir::TypedValue<::llzk::felt::FeltType> getRhs() {
1139 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*getODSOperands(1).begin());
1140 }
1141
1142 ::mlir::OpOperand &getLhsMutable() {
1143 auto range = getODSOperandIndexAndLength(0);
1144 return getOperation()->getOpOperand(range.first);
1145 }
1146
1147 ::mlir::OpOperand &getRhsMutable() {
1148 auto range = getODSOperandIndexAndLength(1);
1149 return getOperation()->getOpOperand(range.first);
1150 }
1151
1152 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
1153 return {index, 1};
1154 }
1155
1156 ::mlir::Operation::result_range getODSResults(unsigned index) {
1157 auto valueRange = getODSResultIndexAndLength(index);
1158 return {std::next(getOperation()->result_begin(), valueRange.first),
1159 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1160 }
1161
1162 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
1163 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
1164 }
1165
1166 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1167 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
1168 static llvm::hash_code computePropertiesHash(const Properties &prop);
1169 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
1170 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
1171 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
1172 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1173 static ::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
1174 void writeProperties(::mlir::DialectBytecodeWriter &writer);
1175 ::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr() {
1176 return ::llvm::cast<::llzk::boolean::FeltCmpPredicateAttr>(getProperties().predicate);
1177 }
1178
1180 void setPredicateAttr(::llzk::boolean::FeltCmpPredicateAttr attr) {
1181 getProperties().predicate = attr;
1182 }
1183
1185 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1186 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1187 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1188 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1189 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1190 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1191 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1192 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1193 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1194 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1195 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1196 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1197 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1198 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1199 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1200 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1201 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1202 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::llzk::boolean::FeltCmpPredicate predicate, ::mlir::Value lhs, ::mlir::Value rhs);
1203 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1204 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1205 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1206 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1207 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1208 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1209 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1210 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1211 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1212 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1213 static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1214 static CmpOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1215 ::llvm::LogicalResult verifyInvariantsImpl();
1216 ::llvm::LogicalResult verifyInvariants();
1217 ::mlir::OpFoldResult fold(FoldAdaptor adaptor);
1218 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1219 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1220 void print(::mlir::OpAsmPrinter &_odsPrinter);
1221 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1222private:
1223 ::mlir::StringAttr getAttributeNameForIndex(unsigned index) {
1224 return getAttributeNameForIndex((*this)->getName(), index);
1225 }
1226
1227 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name, unsigned index) {
1228 assert(index < 1 && "invalid attribute index");
1229 assert(name.getStringRef() == getOperationName() && "invalid operation name");
1230 assert(name.isRegistered() && "Operation isn't registered, missing a "
1231 "dependent dialect loading?");
1232 return name.getAttributeNames()[index];
1233 }
1234
1235public:
1236 private:
1237 static ::mlir::ParseResult parseInferredOrParsedType(
1238 ::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst
1239 ) {
1240 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1241 // If there is a comma, parse the `opType`
1242 mlir::Type type;
1243 if (parser.parseCustomTypeWithFallback(type)) {
1244 return mlir::failure();
1245 }
1246 opType = type;
1247 } else {
1248 // Otherwise, build the default type
1249 opType =
1250 ::llzk::felt::FeltType::get(parser.getBuilder().getContext());
1251 }
1252 return mlir::success();
1253 }
1254
1255 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1256 ::mlir::Operation *op, ::mlir::Type opType, bool isFirst
1257 ) {
1258 printer << (isFirst ? " : " : ", ");
1259 printer.printStrippedAttrOrType(opType);
1260 }
1261};
1262
1263} // namespace llzk::boolean
1264MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::CmpOp)
1266
1267namespace llzk::boolean {
1268
1269
1270//===----------------------------------------------------------------------===//
1271// ::llzk::boolean::NotBoolOp declarations
1272//===----------------------------------------------------------------------===//
1273
1274namespace detail {
1275
1277public:
1278 using Properties = ::mlir::EmptyProperties;
1279protected:
1280 ::mlir::DictionaryAttr odsAttrs;
1281 ::std::optional<::mlir::OperationName> odsOpName;
1283 ::mlir::RegionRange odsRegions;
1284public:
1285 NotBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
1286 odsOpName.emplace("bool.not", odsAttrs.getContext());
1287 }
1288
1290
1291 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
1292 return {index, 1};
1293 }
1294
1296 return properties;
1297 }
1298
1299 ::mlir::DictionaryAttr getAttributes() {
1300 return odsAttrs;
1301 }
1302
1303};
1304
1305} // namespace detail
1306template <typename RangeT>
1308 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1310 static constexpr int odsIndex_operand = 0;
1311public:
1312 NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1313
1314 NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : NotBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
1315
1316 NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : NotBoolOpGenericAdaptor(values, attrs, Properties{}, {}) {}
1317
1318 NotBoolOpGenericAdaptor(RangeT values, const NotBoolOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
1319
1320 template <typename LateInst = NotBoolOp, typename = std::enable_if_t<std::is_same_v<LateInst, NotBoolOp>>>
1321 NotBoolOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
1322
1323 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1324 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
1325 }
1326
1327 RangeT getODSOperands(unsigned index) {
1328 auto valueRange = getODSOperandIndexAndLength(index);
1329 return {std::next(odsOperands.begin(), valueRange.first),
1330 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1331 }
1332
1333 ValueT getOperand() {
1334 return (*getODSOperands(0).begin());
1335 }
1336
1337 RangeT getOperands() {
1338 return odsOperands;
1339 }
1340
1341private:
1342 RangeT odsOperands;
1343};
1344class NotBoolOpAdaptor : public NotBoolOpGenericAdaptor<::mlir::ValueRange> {
1345public:
1348
1349 ::llvm::LogicalResult verify(::mlir::Location loc);
1350};
1351class NotBoolOp : public ::mlir::Op<NotBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1352public:
1353 using Op::Op;
1354 using Op::print;
1356 template <typename RangeT>
1359 static constexpr int odsIndex_operand = 0;
1361 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
1362 return {};
1363 }
1364
1365 static constexpr ::llvm::StringLiteral getOperationName() {
1366 return ::llvm::StringLiteral("bool.not");
1367 }
1368
1369 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1370 return {index, 1};
1371 }
1372
1373 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
1374 auto valueRange = getODSOperandIndexAndLength(index);
1375 return {std::next(getOperation()->operand_begin(), valueRange.first),
1376 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1377 }
1378
1379 ::mlir::TypedValue<::mlir::Type> getOperand() {
1380 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(0).begin());
1381 }
1382
1383 ::mlir::OpOperand &getOperandMutable() {
1384 auto range = getODSOperandIndexAndLength(0);
1385 return getOperation()->getOpOperand(range.first);
1386 }
1387
1388 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
1389 return {index, 1};
1390 }
1391
1392 ::mlir::Operation::result_range getODSResults(unsigned index) {
1393 auto valueRange = getODSResultIndexAndLength(index);
1394 return {std::next(getOperation()->result_begin(), valueRange.first),
1395 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1396 }
1397
1398 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
1399 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
1400 }
1401
1402 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1403 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
1404 static llvm::hash_code computePropertiesHash(const Properties &prop);
1405 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
1406 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
1407 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
1408 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1409 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1410 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value operand);
1411 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value operand);
1412 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1413 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value operand);
1414 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value operand);
1415 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1416 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1417 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1418 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1419 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1420 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1421 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1422 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1423 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1424 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1425 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1426 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1427 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1428 static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1429 static NotBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1430 ::llvm::LogicalResult verifyInvariantsImpl();
1431 ::llvm::LogicalResult verifyInvariants();
1432 ::mlir::OpFoldResult fold(FoldAdaptor adaptor);
1433 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1434 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1435 void print(::mlir::OpAsmPrinter &_odsPrinter);
1436 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1437public:
1438 private:
1439 static ::mlir::ParseResult parseInferredOrParsedType(
1440 ::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst
1441 ) {
1442 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1443 // If there is a comma, parse the `opType`
1444 mlir::Type type;
1445 if (parser.parseCustomTypeWithFallback(type)) {
1446 return mlir::failure();
1447 }
1448 opType = type;
1449 } else {
1450 // Otherwise, build the default type
1451 opType =
1452 parser.getBuilder().getIntegerType(1);
1453 }
1454 return mlir::success();
1455 }
1456
1457 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1458 ::mlir::Operation *op, ::mlir::Type opType, bool isFirst
1459 ) {
1460 printer << (isFirst ? " : " : ", ");
1461 printer.printStrippedAttrOrType(opType);
1462 }
1463};
1464
1465} // namespace llzk::boolean
1466MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::NotBoolOp)
1467
1468namespace llzk::boolean {
1469
1470
1471//===----------------------------------------------------------------------===//
1472// ::llzk::boolean::OrBoolOp declarations
1473//===----------------------------------------------------------------------===//
1474
1475namespace detail {
1476
1478public:
1479 using Properties = ::mlir::EmptyProperties;
1480protected:
1481 ::mlir::DictionaryAttr odsAttrs;
1482 ::std::optional<::mlir::OperationName> odsOpName;
1484 ::mlir::RegionRange odsRegions;
1485public:
1486 OrBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
1487 odsOpName.emplace("bool.or", odsAttrs.getContext());
1488 }
1489
1491
1492 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
1493 return {index, 1};
1494 }
1495
1497 return properties;
1498 }
1499
1500 ::mlir::DictionaryAttr getAttributes() {
1501 return odsAttrs;
1502 }
1503
1504};
1505
1506} // namespace detail
1507template <typename RangeT>
1509 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1511 static constexpr int odsIndex_lhs = 0;
1512 static constexpr int odsIndex_rhs = 1;
1513public:
1514 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1515
1516 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : OrBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
1517
1518 OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : OrBoolOpGenericAdaptor(values, attrs, Properties{}, {}) {}
1519
1520 OrBoolOpGenericAdaptor(RangeT values, const OrBoolOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
1521
1522 template <typename LateInst = OrBoolOp, typename = std::enable_if_t<std::is_same_v<LateInst, OrBoolOp>>>
1523 OrBoolOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
1524
1525 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1526 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
1527 }
1528
1529 RangeT getODSOperands(unsigned index) {
1530 auto valueRange = getODSOperandIndexAndLength(index);
1531 return {std::next(odsOperands.begin(), valueRange.first),
1532 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1533 }
1534
1535 ValueT getLhs() {
1536 return (*getODSOperands(0).begin());
1537 }
1538
1539 ValueT getRhs() {
1540 return (*getODSOperands(1).begin());
1541 }
1542
1543 RangeT getOperands() {
1544 return odsOperands;
1545 }
1546
1547private:
1548 RangeT odsOperands;
1549};
1550class OrBoolOpAdaptor : public OrBoolOpGenericAdaptor<::mlir::ValueRange> {
1551public:
1554
1555 ::llvm::LogicalResult verify(::mlir::Location loc);
1556};
1557class OrBoolOp : public ::mlir::Op<OrBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1558public:
1559 using Op::Op;
1560 using Op::print;
1562 template <typename RangeT>
1565 static constexpr int odsIndex_lhs = 0;
1566 static constexpr int odsIndex_rhs = 1;
1568 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
1569 return {};
1570 }
1571
1572 static constexpr ::llvm::StringLiteral getOperationName() {
1573 return ::llvm::StringLiteral("bool.or");
1574 }
1575
1576 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1577 return {index, 1};
1578 }
1579
1580 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
1581 auto valueRange = getODSOperandIndexAndLength(index);
1582 return {std::next(getOperation()->operand_begin(), valueRange.first),
1583 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1584 }
1585
1586 ::mlir::TypedValue<::mlir::Type> getLhs() {
1587 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(0).begin());
1588 }
1589
1590 ::mlir::TypedValue<::mlir::Type> getRhs() {
1591 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(1).begin());
1592 }
1593
1594 ::mlir::OpOperand &getLhsMutable() {
1595 auto range = getODSOperandIndexAndLength(0);
1596 return getOperation()->getOpOperand(range.first);
1597 }
1598
1599 ::mlir::OpOperand &getRhsMutable() {
1600 auto range = getODSOperandIndexAndLength(1);
1601 return getOperation()->getOpOperand(range.first);
1602 }
1603
1604 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
1605 return {index, 1};
1606 }
1607
1608 ::mlir::Operation::result_range getODSResults(unsigned index) {
1609 auto valueRange = getODSResultIndexAndLength(index);
1610 return {std::next(getOperation()->result_begin(), valueRange.first),
1611 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1612 }
1613
1614 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
1615 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
1616 }
1617
1618 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1619 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
1620 static llvm::hash_code computePropertiesHash(const Properties &prop);
1621 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
1622 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
1623 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
1624 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1625 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1626 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1627 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1628 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1629 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs);
1630 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value lhs, ::mlir::Value rhs);
1631 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1632 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1633 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1634 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1635 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1636 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1637 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1638 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1639 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1640 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1641 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1642 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1643 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1644 static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1645 static OrBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1646 ::llvm::LogicalResult verifyInvariantsImpl();
1647 ::llvm::LogicalResult verifyInvariants();
1648 ::mlir::OpFoldResult fold(FoldAdaptor adaptor);
1649 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1650 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1651 void print(::mlir::OpAsmPrinter &_odsPrinter);
1652 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1653public:
1654 private:
1655 static ::mlir::ParseResult parseInferredOrParsedType(
1656 ::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst
1657 ) {
1658 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1659 // If there is a comma, parse the `opType`
1660 mlir::Type type;
1661 if (parser.parseCustomTypeWithFallback(type)) {
1662 return mlir::failure();
1663 }
1664 opType = type;
1665 } else {
1666 // Otherwise, build the default type
1667 opType =
1668 parser.getBuilder().getIntegerType(1);
1669 }
1670 return mlir::success();
1671 }
1672
1673 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1674 ::mlir::Operation *op, ::mlir::Type opType, bool isFirst
1675 ) {
1676 printer << (isFirst ? " : " : ", ");
1677 printer.printStrippedAttrOrType(opType);
1678 }
1679};
1680
1681} // namespace llzk::boolean
1682MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::OrBoolOp)
1683
1684namespace llzk::boolean {
1685
1686
1687//===----------------------------------------------------------------------===//
1688// ::llzk::boolean::XorBoolOp declarations
1689//===----------------------------------------------------------------------===//
1690
1691namespace detail {
1692
1694public:
1695 using Properties = ::mlir::EmptyProperties;
1696protected:
1697 ::mlir::DictionaryAttr odsAttrs;
1698 ::std::optional<::mlir::OperationName> odsOpName;
1700 ::mlir::RegionRange odsRegions;
1701public:
1702 XorBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
1703 odsOpName.emplace("bool.xor", odsAttrs.getContext());
1704 }
1705
1707
1708 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
1709 return {index, 1};
1710 }
1711
1713 return properties;
1714 }
1715
1716 ::mlir::DictionaryAttr getAttributes() {
1717 return odsAttrs;
1718 }
1719
1720};
1721
1722} // namespace detail
1723template <typename RangeT>
1725 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1727 static constexpr int odsIndex_lhs = 0;
1728 static constexpr int odsIndex_rhs = 1;
1729public:
1730 XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1731
1732 XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : XorBoolOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
1733
1734 XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : XorBoolOpGenericAdaptor(values, attrs, Properties{}, {}) {}
1735
1736 XorBoolOpGenericAdaptor(RangeT values, const XorBoolOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
1737
1738 template <typename LateInst = XorBoolOp, typename = std::enable_if_t<std::is_same_v<LateInst, XorBoolOp>>>
1739 XorBoolOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
1740
1741 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1742 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
1743 }
1744
1745 RangeT getODSOperands(unsigned index) {
1746 auto valueRange = getODSOperandIndexAndLength(index);
1747 return {std::next(odsOperands.begin(), valueRange.first),
1748 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1749 }
1750
1751 ValueT getLhs() {
1752 return (*getODSOperands(0).begin());
1753 }
1754
1755 ValueT getRhs() {
1756 return (*getODSOperands(1).begin());
1757 }
1758
1759 RangeT getOperands() {
1760 return odsOperands;
1761 }
1762
1763private:
1764 RangeT odsOperands;
1765};
1766class XorBoolOpAdaptor : public XorBoolOpGenericAdaptor<::mlir::ValueRange> {
1767public:
1770
1771 ::llvm::LogicalResult verify(::mlir::Location loc);
1772};
1773class XorBoolOp : public ::mlir::Op<XorBoolOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::IntegerType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1774public:
1775 using Op::Op;
1776 using Op::print;
1778 template <typename RangeT>
1781 static constexpr int odsIndex_lhs = 0;
1782 static constexpr int odsIndex_rhs = 1;
1784 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
1785 return {};
1786 }
1787
1788 static constexpr ::llvm::StringLiteral getOperationName() {
1789 return ::llvm::StringLiteral("bool.xor");
1790 }
1791
1792 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1793 return {index, 1};
1794 }
1795
1796 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
1797 auto valueRange = getODSOperandIndexAndLength(index);
1798 return {std::next(getOperation()->operand_begin(), valueRange.first),
1799 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1800 }
1801
1802 ::mlir::TypedValue<::mlir::Type> getLhs() {
1803 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(0).begin());
1804 }
1805
1806 ::mlir::TypedValue<::mlir::Type> getRhs() {
1807 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(1).begin());
1808 }
1809
1810 ::mlir::OpOperand &getLhsMutable() {
1811 auto range = getODSOperandIndexAndLength(0);
1812 return getOperation()->getOpOperand(range.first);
1813 }
1814
1815 ::mlir::OpOperand &getRhsMutable() {
1816 auto range = getODSOperandIndexAndLength(1);
1817 return getOperation()->getOpOperand(range.first);
1818 }
1819
1820 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
1821 return {index, 1};
1822 }
1823
1824 ::mlir::Operation::result_range getODSResults(unsigned index) {
1825 auto valueRange = getODSResultIndexAndLength(index);
1826 return {std::next(getOperation()->result_begin(), valueRange.first),
1827 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1828 }
1829
1830 ::mlir::TypedValue<::mlir::IntegerType> getResult() {
1831 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSResults(0).begin());
1832 }
1833
1834 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1835 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
1836 static llvm::hash_code computePropertiesHash(const Properties &prop);
1837 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
1838 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
1839 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
1840 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1841 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1842 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1843 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1844 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1845 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs);
1846 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value lhs, ::mlir::Value rhs);
1847 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1848 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1849 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1850 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1851 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1852 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1853 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1854 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1855 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1856 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1857 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1858 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1859 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1860 static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1861 static XorBoolOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
1862 ::llvm::LogicalResult verifyInvariantsImpl();
1863 ::llvm::LogicalResult verifyInvariants();
1864 ::mlir::OpFoldResult fold(FoldAdaptor adaptor);
1865 static ::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1866 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1867 void print(::mlir::OpAsmPrinter &_odsPrinter);
1868 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1869public:
1870 private:
1871 static ::mlir::ParseResult parseInferredOrParsedType(
1872 ::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst
1873 ) {
1874 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1875 // If there is a comma, parse the `opType`
1876 mlir::Type type;
1877 if (parser.parseCustomTypeWithFallback(type)) {
1878 return mlir::failure();
1879 }
1880 opType = type;
1881 } else {
1882 // Otherwise, build the default type
1883 opType =
1884 parser.getBuilder().getIntegerType(1);
1885 }
1886 return mlir::success();
1887 }
1888
1889 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1890 ::mlir::Operation *op, ::mlir::Type opType, bool isFirst
1891 ) {
1892 printer << (isFirst ? " : " : ", ");
1893 printer.printStrippedAttrOrType(opType);
1894 }
1895};
1896
1897} // namespace llzk::boolean
1898MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::XorBoolOp)
1899
1900namespace llzk::boolean {
1901
1902
1903//===----------------------------------------------------------------------===//
1904// ::llzk::boolean::YieldOp declarations
1905//===----------------------------------------------------------------------===//
1906
1907namespace detail {
1908
1910public:
1911 using Properties = ::mlir::EmptyProperties;
1912protected:
1913 ::mlir::DictionaryAttr odsAttrs;
1914 ::std::optional<::mlir::OperationName> odsOpName;
1916 ::mlir::RegionRange odsRegions;
1917public:
1918 YieldOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
1919 odsOpName.emplace("bool.yield", odsAttrs.getContext());
1920 }
1921
1923
1924 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
1925 return {index, 1};
1926 }
1927
1929 return properties;
1930 }
1931
1932 ::mlir::DictionaryAttr getAttributes() {
1933 return odsAttrs;
1934 }
1935
1936};
1937
1938} // namespace detail
1939template <typename RangeT>
1941 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1943 static constexpr int odsIndex_value = 0;
1944public:
1945 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1946
1947 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : YieldOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
1948
1949 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : YieldOpGenericAdaptor(values, attrs, Properties{}, {}) {}
1950
1951 YieldOpGenericAdaptor(RangeT values, const YieldOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
1952
1953 template <typename LateInst = YieldOp, typename = std::enable_if_t<std::is_same_v<LateInst, YieldOp>>>
1954 YieldOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
1955
1956 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
1957 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
1958 }
1959
1960 RangeT getODSOperands(unsigned index) {
1961 auto valueRange = getODSOperandIndexAndLength(index);
1962 return {std::next(odsOperands.begin(), valueRange.first),
1963 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1964 }
1965
1966 ValueT getValue() {
1967 return (*getODSOperands(0).begin());
1968 }
1969
1970 RangeT getOperands() {
1971 return odsOperands;
1972 }
1973
1974private:
1975 RangeT odsOperands;
1976};
1977class YieldOpAdaptor : public YieldOpGenericAdaptor<::mlir::ValueRange> {
1978public:
1981
1982 ::llvm::LogicalResult verify(::mlir::Location loc);
1983};
1984class YieldOp : public ::mlir::Op<YieldOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::HasParent<ForAllOp, ExistsOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsTerminator, ::mlir::RegionBranchTerminatorOpInterface::Trait, ::mlir::OpTrait::ReturnLike> {
1985public:
1986 using Op::Op;
1987 using Op::print;
1989 template <typename RangeT>
1992 static constexpr int odsIndex_value = 0;
1994 using ::mlir::RegionBranchTerminatorOpInterface::Trait<YieldOp>::getMutableSuccessorOperands;
1995 using ::mlir::RegionBranchTerminatorOpInterface::Trait<YieldOp>::getSuccessorRegions;
1996 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
1997 return {};
1998 }
1999
2000 static constexpr ::llvm::StringLiteral getOperationName() {
2001 return ::llvm::StringLiteral("bool.yield");
2002 }
2003
2004 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
2005 return {index, 1};
2006 }
2007
2008 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
2009 auto valueRange = getODSOperandIndexAndLength(index);
2010 return {std::next(getOperation()->operand_begin(), valueRange.first),
2011 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2012 }
2013
2014 ::mlir::TypedValue<::mlir::IntegerType> getValue() {
2015 return ::llvm::cast<::mlir::TypedValue<::mlir::IntegerType>>(*getODSOperands(0).begin());
2016 }
2017
2018 ::mlir::OpOperand &getValueMutable() {
2019 auto range = getODSOperandIndexAndLength(0);
2020 return getOperation()->getOpOperand(range.first);
2021 }
2022
2023 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
2024 return {index, 1};
2025 }
2026
2027 ::mlir::Operation::result_range getODSResults(unsigned index) {
2028 auto valueRange = getODSResultIndexAndLength(index);
2029 return {std::next(getOperation()->result_begin(), valueRange.first),
2030 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2031 }
2032
2033 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2034 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
2035 static llvm::hash_code computePropertiesHash(const Properties &prop);
2036 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
2037 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
2038 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
2039 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2040 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value);
2041 static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value value);
2042 static YieldOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value value);
2043 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value);
2044 static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value value);
2045 static YieldOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value value);
2046 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2047 static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2048 static YieldOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2049 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
2050 static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
2051 static YieldOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
2052 ::llvm::LogicalResult verifyInvariantsImpl();
2053 ::llvm::LogicalResult verifyInvariants();
2054 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2055 void print(::mlir::OpAsmPrinter &_odsPrinter);
2056public:
2057};
2058
2059} // namespace llzk::boolean
2060MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::boolean::YieldOp)
2061
2062
2063#endif // GET_OP_CLASSES
2064
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:728
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:585
AndBoolOpGenericAdaptor(RangeT values, const AndBoolOpGenericAdaptorBase &base)
Definition Ops.h.inc:591
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:587
AndBoolOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:594
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:600
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:585
AndBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:589
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:596
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:651
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
Definition Ops.cpp:72
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:755
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:769
static constexpr int odsIndex_rhs
Definition Ops.h.inc:637
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:679
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:1039
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:750
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:968
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:741
static AndBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:775
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:635
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:1027
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:762
::mlir::TypedValue<::mlir::Type > getLhs()
Definition Ops.h.inc:657
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:665
AndBoolOpAdaptor Adaptor
Definition Ops.h.inc:632
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:765
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:980
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:759
AndBoolOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:634
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:972
static constexpr int odsIndex_lhs
Definition Ops.h.inc:636
::mlir::TypedValue<::mlir::Type > getRhs()
Definition Ops.h.inc:661
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:647
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:732
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:685
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:670
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:936
FoldAdaptor::Properties Properties
Definition Ops.h.inc:638
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:675
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:643
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:639
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:825
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:1066
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:825
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:840
AssertOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:834
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:836
AssertOpGenericAdaptor(RangeT values, const AssertOpGenericAdaptorBase &base)
Definition Ops.h.inc:831
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:829
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:827
::mlir::TypedValue<::mlir::IntegerType > getCondition()
Definition Ops.h.inc:901
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:1283
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:891
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:1125
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value condition, ::mlir::StringAttr msg)
Definition Ops.cpp.inc:1171
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:1097
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:874
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:910
::mlir::StringAttr getMsgAttrName(::mlir::OperationName name)
Definition Ops.h.inc:883
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
Definition Ops.cpp.inc:1145
::std::optional< ::llvm::StringRef > getMsg()
Definition Ops.cpp.inc:1158
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:871
AssertOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:870
::mlir::StringAttr getMsgAttr()
Definition Ops.h.inc:929
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:887
void setMsg(::std::optional<::llvm::StringRef > attrValue)
Definition Ops.cpp.inc:1163
void setMsgAttr(::mlir::StringAttr attr)
Definition Ops.h.inc:934
static AssertOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value condition, ::mlir::StringAttr msg)
Definition Ops.cpp.inc:1178
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:1113
AssertOpAdaptor Adaptor
Definition Ops.h.inc:868
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:895
void writeProperties(::mlir::DialectBytecodeWriter &writer)
Definition Ops.cpp.inc:1152
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:1314
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:1132
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:914
FoldAdaptor::Properties Properties
Definition Ops.h.inc:873
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1136
::mlir::OpOperand & getConditionMutable()
Definition Ops.h.inc:905
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:1279
::mlir::Attribute removeMsgAttr()
Definition Ops.h.inc:939
::mlir::StringAttr getMsgAttrName()
Definition Ops.h.inc:879
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:1262
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1074
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp:38
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:1119
static constexpr int odsIndex_condition
Definition Ops.h.inc:872
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:1352
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1053
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:1057
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:1068
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1055
CmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1053
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1064
CmpOpGenericAdaptor(RangeT values, const CmpOpGenericAdaptorBase &base)
Definition Ops.h.inc:1059
CmpOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:1062
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:1830
static constexpr int odsIndex_lhs
Definition Ops.h.inc:1104
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:1453
::mlir::TypedValue<::llzk::felt::FeltType > getLhs()
Definition Ops.h.inc:1134
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:1152
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:1419
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:1162
::mlir::StringAttr getPredicateAttrName()
Definition Ops.h.inc:1112
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:1120
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:1156
CmpOpAdaptor Adaptor
Definition Ops.h.inc:1100
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:1745
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:1749
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:1757
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:1406
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:1103
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:1384
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1124
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1423
::llzk::boolean::FeltCmpPredicate getPredicate()
Definition Ops.cpp.inc:1444
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:1710
static CmpOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::llzk::boolean::FeltCmpPredicateAttr predicate, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:1460
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:1147
void setPredicate(::llzk::boolean::FeltCmpPredicate attrValue)
Definition Ops.cpp.inc:1449
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:1107
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:1142
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
Definition Ops.h.inc:1175
static constexpr int odsIndex_rhs
Definition Ops.h.inc:1105
CmpOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:1102
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:1128
FoldAdaptor::Properties Properties
Definition Ops.h.inc:1106
void setPredicateAttr(::llzk::boolean::FeltCmpPredicateAttr attr)
Definition Ops.h.inc:1180
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:1814
::mlir::TypedValue<::llzk::felt::FeltType > getRhs()
Definition Ops.h.inc:1138
void writeProperties(::mlir::DialectBytecodeWriter &writer)
Definition Ops.cpp.inc:1439
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
Definition Ops.cpp:142
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:1400
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:1412
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
Definition Ops.cpp.inc:1432
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1361
::mlir::StringAttr getPredicateAttrName(::mlir::OperationName name)
Definition Ops.h.inc:1116
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:126
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:214
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:216
ExistsOpGenericAdaptor(RangeT values, const ExistsOpGenericAdaptorBase &base)
Definition Ops.h.inc:220
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:218
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:229
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:214
ExistsOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:223
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:225
ExistsOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:259
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:130
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:267
FoldAdaptor::Properties Properties
Definition Ops.h.inc:262
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:300
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:377
::llvm::LogicalResult verify()
Definition Ops.cpp:301
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:290
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:260
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:371
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:153
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:405
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:271
static constexpr int odsIndex_sort
Definition Ops.h.inc:261
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:294
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:342
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:275
void print(::mlir::OpAsmPrinter &p)
Definition Ops.cpp:307
::mlir::Region & getRegion()
Definition Ops.h.inc:304
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort)
Definition Ops.cpp.inc:167
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:148
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:263
static ExistsOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort)
Definition Ops.cpp.inc:173
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:157
::mlir::OpOperand & getSortMutable()
Definition Ops.h.inc:285
::mlir::TypedValue<::llzk::array::ArrayType > getSort()
Definition Ops.h.inc:281
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:163
::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:385
ExistsOpAdaptor Adaptor
Definition Ops.h.inc:257
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:139
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:160
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp:303
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:403
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:427
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:414
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:418
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:403
ForAllOpGenericAdaptor(RangeT values, const ForAllOpGenericAdaptorBase &base)
Definition Ops.h.inc:409
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:407
ForAllOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:405
ForAllOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:412
static constexpr int odsIndex_sort
Definition Ops.h.inc:450
ForAllOpAdaptor Adaptor
Definition Ops.h.inc:446
FoldAdaptor::Properties Properties
Definition Ops.h.inc:451
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp:291
::mlir::Region & getRegion()
Definition Ops.h.inc:493
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:672
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:489
ForAllOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:448
::mlir::TypedValue<::llzk::array::ArrayType > getSort()
Definition Ops.h.inc:470
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:440
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:449
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:678
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:452
static ForAllOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value sort)
Definition Ops.cpp.inc:474
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:483
::llvm::LogicalResult setPropertiesFromParsedAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:686
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:454
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:461
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:458
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value sort)
Definition Ops.cpp.inc:468
::mlir::OpOperand & getSortMutable()
Definition Ops.h.inc:474
::llvm::LogicalResult verify()
Definition Ops.cpp:289
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:643
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:456
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:460
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:464
void print(::mlir::OpAsmPrinter &p)
Definition Ops.cpp:295
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:479
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:449
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:464
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:706
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:431
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:1853
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1312
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:1327
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:1316
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1323
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1314
NotBoolOpGenericAdaptor(RangeT values, const NotBoolOpGenericAdaptorBase &base)
Definition Ops.h.inc:1318
NotBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1312
NotBoolOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:1321
NotBoolOpAdaptor Adaptor
Definition Ops.h.inc:1355
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:1358
static constexpr int odsIndex_operand
Definition Ops.h.inc:1359
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:2058
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:1880
::mlir::TypedValue<::mlir::Type > getOperand()
Definition Ops.h.inc:1379
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:2124
static NotBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value operand)
Definition Ops.cpp.inc:1899
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1890
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:2094
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:2082
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:2132
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
Definition Ops.cpp.inc:1894
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:1857
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:1361
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:1887
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:1365
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:1866
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:1884
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:1388
FoldAdaptor::Properties Properties
Definition Ops.h.inc:1360
NotBoolOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:1357
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:2086
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
Definition Ops.cpp:111
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:1373
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:1875
::mlir::OpOperand & getOperandMutable()
Definition Ops.h.inc:1383
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:1398
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1369
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:1392
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:2154
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1514
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:1529
OrBoolOpGenericAdaptor(RangeT values, const OrBoolOpGenericAdaptorBase &base)
Definition Ops.h.inc:1520
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1525
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:1518
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1516
OrBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1514
OrBoolOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:1523
OrBoolOpAdaptor Adaptor
Definition Ops.h.inc:1561
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:2181
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2158
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:2362
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:1580
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:1564
static constexpr int odsIndex_rhs
Definition Ops.h.inc:1566
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:2465
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:2453
static OrBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:2201
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
Definition Ops.cpp:85
::mlir::TypedValue<::mlir::Type > getLhs()
Definition Ops.h.inc:1586
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:2185
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:2188
FoldAdaptor::Properties Properties
Definition Ops.h.inc:1567
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:2195
static constexpr int odsIndex_lhs
Definition Ops.h.inc:1565
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1576
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:1594
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2191
OrBoolOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:1563
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:1599
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:2394
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:2176
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:2167
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:2406
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:1568
::mlir::TypedValue<::mlir::Type > getRhs()
Definition Ops.h.inc:1590
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:1608
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:1572
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:1614
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:1604
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:2398
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:2487
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1730
XorBoolOpGenericAdaptor(RangeT values, const XorBoolOpGenericAdaptorBase &base)
Definition Ops.h.inc:1736
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1732
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1741
XorBoolOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:1739
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:1734
XorBoolOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1730
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:1745
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:1810
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2524
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2491
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:1780
static constexpr int odsIndex_rhs
Definition Ops.h.inc:1782
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:2518
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:1784
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:2695
::mlir::TypedValue<::mlir::IntegerType > getResult()
Definition Ops.h.inc:1830
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:2727
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::PropertyRef properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
Definition Ops.cpp.inc:2731
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1792
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:1815
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:2521
static constexpr int odsIndex_lhs
Definition Ops.h.inc:1781
static XorBoolOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:2534
XorBoolOpAdaptor Adaptor
Definition Ops.h.inc:1777
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:1820
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:1796
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
Definition Ops.cpp:98
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:1824
::mlir::TypedValue<::mlir::Type > getLhs()
Definition Ops.h.inc:1802
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:2786
::mlir::TypedValue<::mlir::Type > getRhs()
Definition Ops.h.inc:1806
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:2528
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:2509
XorBoolOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:1779
FoldAdaptor::Properties Properties
Definition Ops.h.inc:1783
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:2514
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:1788
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:2798
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:2500
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:2739
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:2820
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1945
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:1956
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:1949
YieldOpGenericAdaptor(RangeT values, const YieldOpGenericAdaptorBase &base)
Definition Ops.h.inc:1951
YieldOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:1954
RangeT getODSOperands(unsigned index)
Definition Ops.h.inc:1960
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1945
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1947
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2824
::mlir::TypedValue<::mlir::IntegerType > getValue()
Definition Ops.h.inc:2014
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:2854
YieldOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:1990
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:2004
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:1991
static YieldOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value value)
Definition Ops.cpp.inc:2865
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:2953
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:2008
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:2936
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:2000
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:2023
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value value)
Definition Ops.cpp.inc:2861
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:2847
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:2833
::mlir::OpOperand & getValueMutable()
Definition Ops.h.inc:2018
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:2027
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:1996
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:2976
FoldAdaptor::Properties Properties
Definition Ops.h.inc:1993
YieldOpAdaptor Adaptor
Definition Ops.h.inc:1988
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:2842
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:2851
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:2949
static constexpr int odsIndex_value
Definition Ops.h.inc:1992
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:2857
AndBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:557
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:563
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:553
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:788
AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:792
::std::optional< ::llvm::StringRef > getMsg()
Definition Ops.cpp.inc:1057
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:798
::llzk::boolean::FeltCmpPredicateAttr getPredicateAttr()
Definition Ops.h.inc:1037
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:1015
CmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1019
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:1025
::llzk::boolean::FeltCmpPredicate getPredicate()
Definition Ops.cpp.inc:1343
ExistsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:179
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:185
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:175
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:374
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:364
ForAllOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:368
NotBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1285
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:1281
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:1291
OrBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1486
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:1492
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:1482
XorBoolOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1702
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:1708
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:1698
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:1914
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:1924
YieldOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:1918
static FeltType get(::mlir::MLIRContext *context, ::mlir::StringAttr fieldName)
Definition Types.cpp.inc:69
void setMsg(const ::mlir::StringAttr &propValue)
Definition Ops.h.inc:774
::llzk::boolean::FeltCmpPredicateAttr predicateTy
Definition Ops.h.inc:994
void setPredicate(const ::llzk::boolean::FeltCmpPredicateAttr &propValue)
Definition Ops.h.inc:1001