LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.capi.test.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op C API Tests *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10class VerifOperationLinkTests : public CAPITest {};
11
13TEST_F(VerifOperationLinkTests, IsA_Verif_ContractEndOp) {
14 auto testOperation = createIndexOperation();
15
16 // This will always return false since `createIndex*` returns an MLIR builtin
17 EXPECT_FALSE(llzkOperationIsA_Verif_ContractEndOp(testOperation));
18
19 mlirOperationDestroy(testOperation);
20}
21
23TEST_F(VerifOperationLinkTests, llzk_ContractEndOp_Build) {
24 // Returns an `arith.constant` op, which will never match the ContractEndOp dialect check.
25 auto testOp = createIndexOperation();
26
27 // This condition is always false, so the function is never actually called.
28 // We only verify it compiles and links correctly.
30 MlirOpBuilder builder = mlirOpBuilderCreate(context);
31 MlirLocation location = mlirLocationUnknownGet(context);
32 auto dummyValue = mlirOperationGetResult(testOp, 0);
33
34 (void)llzkVerif_ContractEndOpBuild(builder, location);
35 // No need to destroy builder or op since this code never runs.
36 }
37
38 mlirOperationDestroy(testOp);
39}
40
41struct ContractEndOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
42 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_ContractEndOp(op); }
46 static std::unique_ptr<ContractEndOpBuildFuncHelper> get();
47
48protected:
50};
51
54TEST_F(CAPITest, Verif_ContractEndOp_build_pass) { ContractEndOpBuildFuncHelper::get()->run(*this); }
55
57TEST_F(VerifOperationLinkTests, IsA_Verif_ContractOp) {
58 auto testOperation = createIndexOperation();
59
60 // This will always return false since `createIndex*` returns an MLIR builtin
61 EXPECT_FALSE(llzkOperationIsA_Verif_ContractOp(testOperation));
62
63 mlirOperationDestroy(testOperation);
64}
65
66TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetSymNameAttr) {
67 auto testOp = createIndexOperation();
68
71 }
72
73 mlirOperationDestroy(testOp);
74}
75
76TEST_F(VerifOperationLinkTests, llzk_ContractOp_SetSymNameAttr) {
77 auto testOp = createIndexOperation();
78
80 llzkVerif_ContractOpSetSymName(testOp, createIndexAttribute());
81 }
82
83 mlirOperationDestroy(testOp);
84}
85
86TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetTargetAttr) {
87 auto testOp = createIndexOperation();
88
91 }
92
93 mlirOperationDestroy(testOp);
94}
95
96TEST_F(VerifOperationLinkTests, llzk_ContractOp_SetTargetAttr) {
97 auto testOp = createIndexOperation();
98
100 llzkVerif_ContractOpSetTarget(testOp, createIndexAttribute());
101 }
102
103 mlirOperationDestroy(testOp);
104}
105
106TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetFunctionTypeAttr) {
107 auto testOp = createIndexOperation();
108
111 }
112
113 mlirOperationDestroy(testOp);
114}
115
116TEST_F(VerifOperationLinkTests, llzk_ContractOp_SetFunctionTypeAttr) {
117 auto testOp = createIndexOperation();
118
120 llzkVerif_ContractOpSetFunctionType(testOp, createIndexAttribute());
121 }
122
123 mlirOperationDestroy(testOp);
124}
125
126TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetArgAttrsAttr) {
127 auto testOp = createIndexOperation();
128
131 }
132
133 mlirOperationDestroy(testOp);
134}
135
136TEST_F(VerifOperationLinkTests, llzk_ContractOp_SetArgAttrsAttr) {
137 auto testOp = createIndexOperation();
138
140 llzkVerif_ContractOpSetArgAttrs(testOp, createIndexAttribute());
141 }
142
143 mlirOperationDestroy(testOp);
144}
145
146TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetBodyRegion) {
147 auto testOp = createIndexOperation();
148
150 (void)llzkVerif_ContractOpGetBody(testOp);
151 }
152
153 mlirOperationDestroy(testOp);
154}
155
157TEST_F(VerifOperationLinkTests, llzk_ContractOp_IsDeclaration) {
158 auto testOperation = createIndexOperation();
159
160 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
161
162 (void)llzkVerif_ContractOpIsDeclaration(testOperation);
163 }
164
165 mlirOperationDestroy(testOperation);
166}
167
169TEST_F(VerifOperationLinkTests, llzk_ContractOp_HasArgPublicAttr) {
170 auto testOperation = createIndexOperation();
171
172 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
173 unsigned index = 0;
174
175 (void)llzkVerif_ContractOpHasArgPublicAttr(testOperation, index);
176 }
177
178 mlirOperationDestroy(testOperation);
179}
180
182TEST_F(VerifOperationLinkTests, llzk_ContractOp_HasFuncTarget) {
183 auto testOperation = createIndexOperation();
184
185 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
186
187 (void)llzkVerif_ContractOpHasFuncTarget(testOperation);
188 }
189
190 mlirOperationDestroy(testOperation);
191}
192
194TEST_F(VerifOperationLinkTests, llzk_ContractOp_HasStructTarget) {
195 auto testOperation = createIndexOperation();
196
197 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
198
199 (void)llzkVerif_ContractOpHasStructTarget(testOperation);
200 }
201
202 mlirOperationDestroy(testOperation);
203}
204
206TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetCallableRegion) {
207 auto testOperation = createIndexOperation();
208
209 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
210
211 (void)llzkVerif_ContractOpGetCallableRegion(testOperation);
212 }
213
214 mlirOperationDestroy(testOperation);
215}
216
218TEST_F(VerifOperationLinkTests, llzk_ContractOp_HasArgName) {
219 auto testOperation = createIndexOperation();
220
221 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
222 unsigned index = 0;
223
224 (void)llzkVerif_ContractOpHasArgName(testOperation, index);
225 }
226
227 mlirOperationDestroy(testOperation);
228}
229
231TEST_F(VerifOperationLinkTests, llzk_ContractOp_GetFullyQualifiedName) {
232 auto testOperation = createIndexOperation();
233
234 if (llzkOperationIsA_Verif_ContractOp(testOperation)) {
235 bool requireParent = false;
236
237 (void)llzkVerif_ContractOpGetFullyQualifiedName(testOperation, requireParent);
238 }
239
240 mlirOperationDestroy(testOperation);
241}
242
244TEST_F(VerifOperationLinkTests, IsA_Verif_DecreasesOp) {
245 auto testOperation = createIndexOperation();
246
247 // This will always return false since `createIndex*` returns an MLIR builtin
248 EXPECT_FALSE(llzkOperationIsA_Verif_DecreasesOp(testOperation));
249
250 mlirOperationDestroy(testOperation);
251}
252
254TEST_F(VerifOperationLinkTests, llzk_DecreasesOp_Build) {
255 // Returns an `arith.constant` op, which will never match the DecreasesOp dialect check.
256 auto testOp = createIndexOperation();
257
258 // This condition is always false, so the function is never actually called.
259 // We only verify it compiles and links correctly.
261 MlirOpBuilder builder = mlirOpBuilderCreate(context);
262 MlirLocation location = mlirLocationUnknownGet(context);
263 auto dummyValue = mlirOperationGetResult(testOp, 0);
264
265 (void)llzkVerif_DecreasesOpBuild(builder, location, dummyValue);
266 // No need to destroy builder or op since this code never runs.
267 }
268
269 mlirOperationDestroy(testOp);
270}
271
272struct DecreasesOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
273 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_DecreasesOp(op); }
277 static std::unique_ptr<DecreasesOpBuildFuncHelper> get();
278
279protected:
281};
282
285TEST_F(CAPITest, Verif_DecreasesOp_build_pass) { DecreasesOpBuildFuncHelper::get()->run(*this); }
286
287TEST_F(VerifOperationLinkTests, llzk_DecreasesOp_GetValue) {
288 auto testOp = createIndexOperation();
289
291 (void)llzkVerif_DecreasesOpGetValue(testOp);
292 }
293
294 mlirOperationDestroy(testOp);
295}
296
297TEST_F(VerifOperationLinkTests, llzk_DecreasesOp_SetValue) {
298 auto testOp = createIndexOperation();
299
301 auto dummyValue = mlirOperationGetResult(testOp, 0);
302 llzkVerif_DecreasesOpSetValue(testOp, dummyValue);
303 }
304
305 mlirOperationDestroy(testOp);
306}
307
309TEST_F(VerifOperationLinkTests, IsA_Verif_EnsureComputeOp) {
310 auto testOperation = createIndexOperation();
311
312 // This will always return false since `createIndex*` returns an MLIR builtin
313 EXPECT_FALSE(llzkOperationIsA_Verif_EnsureComputeOp(testOperation));
314
315 mlirOperationDestroy(testOperation);
316}
317
319TEST_F(VerifOperationLinkTests, llzk_EnsureComputeOp_Build) {
320 // Returns an `arith.constant` op, which will never match the EnsureComputeOp dialect check.
321 auto testOp = createIndexOperation();
322
323 // This condition is always false, so the function is never actually called.
324 // We only verify it compiles and links correctly.
326 MlirOpBuilder builder = mlirOpBuilderCreate(context);
327 MlirLocation location = mlirLocationUnknownGet(context);
328 auto dummyValue = mlirOperationGetResult(testOp, 0);
329
330 (void)llzkVerif_EnsureComputeOpBuild(builder, location, dummyValue);
331 // No need to destroy builder or op since this code never runs.
332 }
333
334 mlirOperationDestroy(testOp);
335}
336
337struct EnsureComputeOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
338 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_EnsureComputeOp(op); }
342 static std::unique_ptr<EnsureComputeOpBuildFuncHelper> get();
343
344protected:
346};
347
350TEST_F(CAPITest, Verif_EnsureComputeOp_build_pass) { EnsureComputeOpBuildFuncHelper::get()->run(*this); }
351
352TEST_F(VerifOperationLinkTests, llzk_EnsureComputeOp_GetCondition) {
353 auto testOp = createIndexOperation();
354
357 }
358
359 mlirOperationDestroy(testOp);
360}
361
362TEST_F(VerifOperationLinkTests, llzk_EnsureComputeOp_SetCondition) {
363 auto testOp = createIndexOperation();
364
366 auto dummyValue = mlirOperationGetResult(testOp, 0);
367 llzkVerif_EnsureComputeOpSetCondition(testOp, dummyValue);
368 }
369
370 mlirOperationDestroy(testOp);
371}
372
374TEST_F(VerifOperationLinkTests, IsA_Verif_EnsureConstrainOp) {
375 auto testOperation = createIndexOperation();
376
377 // This will always return false since `createIndex*` returns an MLIR builtin
378 EXPECT_FALSE(llzkOperationIsA_Verif_EnsureConstrainOp(testOperation));
379
380 mlirOperationDestroy(testOperation);
381}
382
384TEST_F(VerifOperationLinkTests, llzk_EnsureConstrainOp_Build) {
385 // Returns an `arith.constant` op, which will never match the EnsureConstrainOp dialect check.
386 auto testOp = createIndexOperation();
387
388 // This condition is always false, so the function is never actually called.
389 // We only verify it compiles and links correctly.
391 MlirOpBuilder builder = mlirOpBuilderCreate(context);
392 MlirLocation location = mlirLocationUnknownGet(context);
393 auto dummyValue = mlirOperationGetResult(testOp, 0);
394
395 (void)llzkVerif_EnsureConstrainOpBuild(builder, location, dummyValue);
396 // No need to destroy builder or op since this code never runs.
397 }
398
399 mlirOperationDestroy(testOp);
400}
401
402struct EnsureConstrainOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
403 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_EnsureConstrainOp(op); }
407 static std::unique_ptr<EnsureConstrainOpBuildFuncHelper> get();
408
409protected:
411};
412
415TEST_F(CAPITest, Verif_EnsureConstrainOp_build_pass) { EnsureConstrainOpBuildFuncHelper::get()->run(*this); }
416
417TEST_F(VerifOperationLinkTests, llzk_EnsureConstrainOp_GetCondition) {
418 auto testOp = createIndexOperation();
419
422 }
423
424 mlirOperationDestroy(testOp);
425}
426
427TEST_F(VerifOperationLinkTests, llzk_EnsureConstrainOp_SetCondition) {
428 auto testOp = createIndexOperation();
429
431 auto dummyValue = mlirOperationGetResult(testOp, 0);
432 llzkVerif_EnsureConstrainOpSetCondition(testOp, dummyValue);
433 }
434
435 mlirOperationDestroy(testOp);
436}
437
439TEST_F(VerifOperationLinkTests, IsA_Verif_IncludeOp) {
440 auto testOperation = createIndexOperation();
441
442 // This will always return false since `createIndex*` returns an MLIR builtin
443 EXPECT_FALSE(llzkOperationIsA_Verif_IncludeOp(testOperation));
444
445 mlirOperationDestroy(testOperation);
446}
447
448TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetArgOperandsCount) {
449 auto testOp = createIndexOperation();
450
453 }
454
455 mlirOperationDestroy(testOp);
456}
457
458TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetArgOperandsAt) {
459 auto testOp = createIndexOperation();
460
463 }
464
465 mlirOperationDestroy(testOp);
466}
467
468TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetArgOperands_Variadic) {
469 auto testOp = createIndexOperation();
470
472 auto dummyValue = mlirOperationGetResult(testOp, 0);
473 MlirValue values[] = {dummyValue};
474 llzkVerif_IncludeOpSetArgOperands(testOp, 1, values);
475 }
476
477 mlirOperationDestroy(testOp);
478}
479
480TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetMapOperandsCount) {
481 auto testOp = createIndexOperation();
482
485 }
486
487 mlirOperationDestroy(testOp);
488}
489
490TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetMapOperandsAt) {
491 auto testOp = createIndexOperation();
492
495 }
496
497 mlirOperationDestroy(testOp);
498}
499
500TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetMapOperands_VariadicOfVariadic) {
501 auto testOp = createIndexOperation();
502
504 auto dummyValue = mlirOperationGetResult(testOp, 0);
505 MlirValueRange groups[1];
506 groups[0].values = &dummyValue;
507 groups[0].size = 1;
508 llzkVerif_IncludeOpSetMapOperands(testOp, 1, groups);
509 }
510
511 mlirOperationDestroy(testOp);
512}
513
514TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetCalleeAttr) {
515 auto testOp = createIndexOperation();
516
518 (void)llzkVerif_IncludeOpGetCallee(testOp);
519 }
520
521 mlirOperationDestroy(testOp);
522}
523
524TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetCalleeAttr) {
525 auto testOp = createIndexOperation();
526
528 llzkVerif_IncludeOpSetCallee(testOp, createIndexAttribute());
529 }
530
531 mlirOperationDestroy(testOp);
532}
533
534TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetTemplateParamsAttr) {
535 auto testOp = createIndexOperation();
536
539 }
540
541 mlirOperationDestroy(testOp);
542}
543
544TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetTemplateParamsAttr) {
545 auto testOp = createIndexOperation();
546
548 llzkVerif_IncludeOpSetTemplateParams(testOp, createIndexAttribute());
549 }
550
551 mlirOperationDestroy(testOp);
552}
553
554TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetNumDimsPerMapAttr) {
555 auto testOp = createIndexOperation();
556
559 }
560
561 mlirOperationDestroy(testOp);
562}
563
564TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetNumDimsPerMapAttr) {
565 auto testOp = createIndexOperation();
566
568 llzkVerif_IncludeOpSetNumDimsPerMap(testOp, createIndexAttribute());
569 }
570
571 mlirOperationDestroy(testOp);
572}
573
574TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetMapOpGroupSizesAttr) {
575 auto testOp = createIndexOperation();
576
579 }
580
581 mlirOperationDestroy(testOp);
582}
583
584TEST_F(VerifOperationLinkTests, llzk_IncludeOp_SetMapOpGroupSizesAttr) {
585 auto testOp = createIndexOperation();
586
588 llzkVerif_IncludeOpSetMapOpGroupSizes(testOp, createIndexAttribute());
589 }
590
591 mlirOperationDestroy(testOp);
592}
593
595TEST_F(VerifOperationLinkTests, llzk_IncludeOp_ContractTargetsStruct) {
596 auto testOperation = createIndexOperation();
597
598 if (llzkOperationIsA_Verif_IncludeOp(testOperation)) {
599
600 (void)llzkVerif_IncludeOpContractTargetsStruct(testOperation);
601 }
602
603 mlirOperationDestroy(testOperation);
604}
605
607TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetSelfValue) {
608 auto testOperation = createIndexOperation();
609
610 if (llzkOperationIsA_Verif_IncludeOp(testOperation)) {
611
612 (void)llzkVerif_IncludeOpGetSelfValue(testOperation);
613 }
614
615 mlirOperationDestroy(testOperation);
616}
617
619TEST_F(VerifOperationLinkTests, llzk_IncludeOp_GetTypeSignature) {
620 auto testOperation = createIndexOperation();
621
622 if (llzkOperationIsA_Verif_IncludeOp(testOperation)) {
623
624 (void)llzkVerif_IncludeOpGetTypeSignature(testOperation);
625 }
626
627 mlirOperationDestroy(testOperation);
628}
629
631TEST_F(VerifOperationLinkTests, llzk_IncludeOp_ResolveCallable) {
632 auto testOperation = createIndexOperation();
633
634 if (llzkOperationIsA_Verif_IncludeOp(testOperation)) {
635
636 (void)llzkVerif_IncludeOpResolveCallable(testOperation);
637 }
638
639 mlirOperationDestroy(testOperation);
640}
641
643TEST_F(VerifOperationLinkTests, IsA_Verif_IncreasesOp) {
644 auto testOperation = createIndexOperation();
645
646 // This will always return false since `createIndex*` returns an MLIR builtin
647 EXPECT_FALSE(llzkOperationIsA_Verif_IncreasesOp(testOperation));
648
649 mlirOperationDestroy(testOperation);
650}
651
653TEST_F(VerifOperationLinkTests, llzk_IncreasesOp_Build) {
654 // Returns an `arith.constant` op, which will never match the IncreasesOp dialect check.
655 auto testOp = createIndexOperation();
656
657 // This condition is always false, so the function is never actually called.
658 // We only verify it compiles and links correctly.
660 MlirOpBuilder builder = mlirOpBuilderCreate(context);
661 MlirLocation location = mlirLocationUnknownGet(context);
662 auto dummyValue = mlirOperationGetResult(testOp, 0);
663
664 (void)llzkVerif_IncreasesOpBuild(builder, location, dummyValue);
665 // No need to destroy builder or op since this code never runs.
666 }
667
668 mlirOperationDestroy(testOp);
669}
670
671struct IncreasesOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
672 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_IncreasesOp(op); }
676 static std::unique_ptr<IncreasesOpBuildFuncHelper> get();
677
678protected:
680};
681
684TEST_F(CAPITest, Verif_IncreasesOp_build_pass) { IncreasesOpBuildFuncHelper::get()->run(*this); }
685
686TEST_F(VerifOperationLinkTests, llzk_IncreasesOp_GetValue) {
687 auto testOp = createIndexOperation();
688
690 (void)llzkVerif_IncreasesOpGetValue(testOp);
691 }
692
693 mlirOperationDestroy(testOp);
694}
695
696TEST_F(VerifOperationLinkTests, llzk_IncreasesOp_SetValue) {
697 auto testOp = createIndexOperation();
698
700 auto dummyValue = mlirOperationGetResult(testOp, 0);
701 llzkVerif_IncreasesOpSetValue(testOp, dummyValue);
702 }
703
704 mlirOperationDestroy(testOp);
705}
706
708TEST_F(VerifOperationLinkTests, IsA_Verif_InvariantOp) {
709 auto testOperation = createIndexOperation();
710
711 // This will always return false since `createIndex*` returns an MLIR builtin
712 EXPECT_FALSE(llzkOperationIsA_Verif_InvariantOp(testOperation));
713
714 mlirOperationDestroy(testOperation);
715}
716
717TEST_F(VerifOperationLinkTests, llzk_InvariantOp_GetLoopNameAttr) {
718 auto testOp = createIndexOperation();
719
722 }
723
724 mlirOperationDestroy(testOp);
725}
726
727TEST_F(VerifOperationLinkTests, llzk_InvariantOp_SetLoopNameAttr) {
728 auto testOp = createIndexOperation();
729
731 llzkVerif_InvariantOpSetLoopName(testOp, createIndexAttribute());
732 }
733
734 mlirOperationDestroy(testOp);
735}
736
737TEST_F(VerifOperationLinkTests, llzk_InvariantOp_GetLoopArgTypesAttr) {
738 auto testOp = createIndexOperation();
739
742 }
743
744 mlirOperationDestroy(testOp);
745}
746
747TEST_F(VerifOperationLinkTests, llzk_InvariantOp_SetLoopArgTypesAttr) {
748 auto testOp = createIndexOperation();
749
751 llzkVerif_InvariantOpSetLoopArgTypes(testOp, createIndexAttribute());
752 }
753
754 mlirOperationDestroy(testOp);
755}
756
757TEST_F(VerifOperationLinkTests, llzk_InvariantOp_GetRegionRegion) {
758 auto testOp = createIndexOperation();
759
761 (void)llzkVerif_InvariantOpGetRegion(testOp);
762 }
763
764 mlirOperationDestroy(testOp);
765}
766
768TEST_F(VerifOperationLinkTests, llzk_InvariantOp_GetParentContract) {
769 auto testOperation = createIndexOperation();
770
771 if (llzkOperationIsA_Verif_InvariantOp(testOperation)) {
772
773 (void)llzkVerif_InvariantOpGetParentContract(testOperation);
774 }
775
776 mlirOperationDestroy(testOperation);
777}
778
781 auto testOperation = createIndexOperation();
782
783 // This will always return false since `createIndex*` returns an MLIR builtin
784 EXPECT_FALSE(llzkOperationIsA_Verif_OldOp(testOperation));
785
786 mlirOperationDestroy(testOperation);
787}
788
790TEST_F(VerifOperationLinkTests, llzk_OldOp_Build) {
791 // Returns an `arith.constant` op, which will never match the OldOp dialect check.
792 auto testOp = createIndexOperation();
793
794 // This condition is always false, so the function is never actually called.
795 // We only verify it compiles and links correctly.
796 if (llzkOperationIsA_Verif_OldOp(testOp)) {
797 MlirOpBuilder builder = mlirOpBuilderCreate(context);
798 MlirLocation location = mlirLocationUnknownGet(context);
799 auto dummyValue = mlirOperationGetResult(testOp, 0);
800
801 (void)llzkVerif_OldOpBuild(builder, location, dummyValue);
802 // No need to destroy builder or op since this code never runs.
803 }
804
805 mlirOperationDestroy(testOp);
806}
807
808struct OldOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
809 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_OldOp(op); }
813 static std::unique_ptr<OldOpBuildFuncHelper> get();
814
815protected:
817};
818
821TEST_F(CAPITest, Verif_OldOp_build_pass) { OldOpBuildFuncHelper::get()->run(*this); }
822
823TEST_F(VerifOperationLinkTests, llzk_OldOp_GetValue) {
824 auto testOp = createIndexOperation();
825
826 if (llzkOperationIsA_Verif_OldOp(testOp)) {
827 (void)llzkVerif_OldOpGetValue(testOp);
828 }
829
830 mlirOperationDestroy(testOp);
831}
832
833TEST_F(VerifOperationLinkTests, llzk_OldOp_SetValue) {
834 auto testOp = createIndexOperation();
835
836 if (llzkOperationIsA_Verif_OldOp(testOp)) {
837 auto dummyValue = mlirOperationGetResult(testOp, 0);
838 llzkVerif_OldOpSetValue(testOp, dummyValue);
839 }
840
841 mlirOperationDestroy(testOp);
842}
843
844TEST_F(VerifOperationLinkTests, llzk_OldOp_GetResult) {
845 auto testOp = createIndexOperation();
846
847 if (llzkOperationIsA_Verif_OldOp(testOp)) {
848 (void)llzkVerif_OldOpGetResult(testOp);
849 }
850
851 mlirOperationDestroy(testOp);
852}
853
855TEST_F(VerifOperationLinkTests, IsA_Verif_RequireComputeOp) {
856 auto testOperation = createIndexOperation();
857
858 // This will always return false since `createIndex*` returns an MLIR builtin
859 EXPECT_FALSE(llzkOperationIsA_Verif_RequireComputeOp(testOperation));
860
861 mlirOperationDestroy(testOperation);
862}
863
865TEST_F(VerifOperationLinkTests, llzk_RequireComputeOp_Build) {
866 // Returns an `arith.constant` op, which will never match the RequireComputeOp dialect check.
867 auto testOp = createIndexOperation();
868
869 // This condition is always false, so the function is never actually called.
870 // We only verify it compiles and links correctly.
872 MlirOpBuilder builder = mlirOpBuilderCreate(context);
873 MlirLocation location = mlirLocationUnknownGet(context);
874 auto dummyValue = mlirOperationGetResult(testOp, 0);
875
876 (void)llzkVerif_RequireComputeOpBuild(builder, location, dummyValue);
877 // No need to destroy builder or op since this code never runs.
878 }
879
880 mlirOperationDestroy(testOp);
881}
882
883struct RequireComputeOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
884 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_RequireComputeOp(op); }
888 static std::unique_ptr<RequireComputeOpBuildFuncHelper> get();
889
890protected:
892};
893
896TEST_F(CAPITest, Verif_RequireComputeOp_build_pass) { RequireComputeOpBuildFuncHelper::get()->run(*this); }
897
898TEST_F(VerifOperationLinkTests, llzk_RequireComputeOp_GetCondition) {
899 auto testOp = createIndexOperation();
900
903 }
904
905 mlirOperationDestroy(testOp);
906}
907
908TEST_F(VerifOperationLinkTests, llzk_RequireComputeOp_SetCondition) {
909 auto testOp = createIndexOperation();
910
912 auto dummyValue = mlirOperationGetResult(testOp, 0);
913 llzkVerif_RequireComputeOpSetCondition(testOp, dummyValue);
914 }
915
916 mlirOperationDestroy(testOp);
917}
918
920TEST_F(VerifOperationLinkTests, IsA_Verif_RequireConstrainOp) {
921 auto testOperation = createIndexOperation();
922
923 // This will always return false since `createIndex*` returns an MLIR builtin
924 EXPECT_FALSE(llzkOperationIsA_Verif_RequireConstrainOp(testOperation));
925
926 mlirOperationDestroy(testOperation);
927}
928
930TEST_F(VerifOperationLinkTests, llzk_RequireConstrainOp_Build) {
931 // Returns an `arith.constant` op, which will never match the RequireConstrainOp dialect check.
932 auto testOp = createIndexOperation();
933
934 // This condition is always false, so the function is never actually called.
935 // We only verify it compiles and links correctly.
937 MlirOpBuilder builder = mlirOpBuilderCreate(context);
938 MlirLocation location = mlirLocationUnknownGet(context);
939 auto dummyValue = mlirOperationGetResult(testOp, 0);
940
941 (void)llzkVerif_RequireConstrainOpBuild(builder, location, dummyValue);
942 // No need to destroy builder or op since this code never runs.
943 }
944
945 mlirOperationDestroy(testOp);
946}
947
948struct RequireConstrainOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
949 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_RequireConstrainOp(op); }
953 static std::unique_ptr<RequireConstrainOpBuildFuncHelper> get();
954
955protected:
957};
958
961TEST_F(CAPITest, Verif_RequireConstrainOp_build_pass) { RequireConstrainOpBuildFuncHelper::get()->run(*this); }
962
963TEST_F(VerifOperationLinkTests, llzk_RequireConstrainOp_GetCondition) {
964 auto testOp = createIndexOperation();
965
968 }
969
970 mlirOperationDestroy(testOp);
971}
972
973TEST_F(VerifOperationLinkTests, llzk_RequireConstrainOp_SetCondition) {
974 auto testOp = createIndexOperation();
975
977 auto dummyValue = mlirOperationGetResult(testOp, 0);
979 }
980
981 mlirOperationDestroy(testOp);
982}
983
985TEST_F(VerifOperationLinkTests, IsA_Verif_StepOp) {
986 auto testOperation = createIndexOperation();
987
988 // This will always return false since `createIndex*` returns an MLIR builtin
989 EXPECT_FALSE(llzkOperationIsA_Verif_StepOp(testOperation));
990
991 mlirOperationDestroy(testOperation);
992}
993
995TEST_F(VerifOperationLinkTests, llzk_StepOp_Build) {
996 // Returns an `arith.constant` op, which will never match the StepOp dialect check.
997 auto testOp = createIndexOperation();
998
999 // This condition is always false, so the function is never actually called.
1000 // We only verify it compiles and links correctly.
1001 if (llzkOperationIsA_Verif_StepOp(testOp)) {
1002 MlirOpBuilder builder = mlirOpBuilderCreate(context);
1003 MlirLocation location = mlirLocationUnknownGet(context);
1004 auto dummyValue = mlirOperationGetResult(testOp, 0);
1005
1006 (void)llzkVerif_StepOpBuild(builder, location);
1007 // No need to destroy builder or op since this code never runs.
1008 }
1009
1010 mlirOperationDestroy(testOp);
1011}
1012
1013struct StepOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
1014 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_StepOp(op); }
1018 static std::unique_ptr<StepOpBuildFuncHelper> get();
1019
1020protected:
1022};
1023
1026TEST_F(CAPITest, Verif_StepOp_build_pass) { StepOpBuildFuncHelper::get()->run(*this); }
1027
1028TEST_F(VerifOperationLinkTests, llzk_StepOp_GetRegionRegion) {
1029 auto testOp = createIndexOperation();
1030
1031 if (llzkOperationIsA_Verif_StepOp(testOp)) {
1032 (void)llzkVerif_StepOpGetRegion(testOp);
1033 }
1034
1035 mlirOperationDestroy(testOp);
1036}
1037
1039TEST_F(VerifOperationLinkTests, IsA_Verif_StepYieldOp) {
1040 auto testOperation = createIndexOperation();
1041
1042 // This will always return false since `createIndex*` returns an MLIR builtin
1043 EXPECT_FALSE(llzkOperationIsA_Verif_StepYieldOp(testOperation));
1044
1045 mlirOperationDestroy(testOperation);
1046}
1047
1049TEST_F(VerifOperationLinkTests, llzk_StepYieldOp_Build) {
1050 // Returns an `arith.constant` op, which will never match the StepYieldOp dialect check.
1051 auto testOp = createIndexOperation();
1052
1053 // This condition is always false, so the function is never actually called.
1054 // We only verify it compiles and links correctly.
1056 MlirOpBuilder builder = mlirOpBuilderCreate(context);
1057 MlirLocation location = mlirLocationUnknownGet(context);
1058 auto dummyValue = mlirOperationGetResult(testOp, 0);
1059
1060 (void)llzkVerif_StepYieldOpBuild(builder, location, dummyValue);
1061 // No need to destroy builder or op since this code never runs.
1062 }
1063
1064 mlirOperationDestroy(testOp);
1065}
1066
1067struct StepYieldOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
1068 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_StepYieldOp(op); }
1072 static std::unique_ptr<StepYieldOpBuildFuncHelper> get();
1073
1074protected:
1076};
1077
1080TEST_F(CAPITest, Verif_StepYieldOp_build_pass) { StepYieldOpBuildFuncHelper::get()->run(*this); }
1081
1082TEST_F(VerifOperationLinkTests, llzk_StepYieldOp_GetValue) {
1083 auto testOp = createIndexOperation();
1084
1086 (void)llzkVerif_StepYieldOpGetValue(testOp);
1087 }
1088
1089 mlirOperationDestroy(testOp);
1090}
1091
1092TEST_F(VerifOperationLinkTests, llzk_StepYieldOp_SetValue) {
1093 auto testOp = createIndexOperation();
1094
1096 auto dummyValue = mlirOperationGetResult(testOp, 0);
1097 llzkVerif_StepYieldOpSetValue(testOp, dummyValue);
1098 }
1099
1100 mlirOperationDestroy(testOp);
1101}
1102
1104TEST_F(VerifOperationLinkTests, IsA_Verif_VerifAssertOp) {
1105 auto testOperation = createIndexOperation();
1106
1107 // This will always return false since `createIndex*` returns an MLIR builtin
1108 EXPECT_FALSE(llzkOperationIsA_Verif_VerifAssertOp(testOperation));
1109
1110 mlirOperationDestroy(testOperation);
1111}
1112
1114TEST_F(VerifOperationLinkTests, llzk_VerifAssertOp_Build) {
1115 // Returns an `arith.constant` op, which will never match the VerifAssertOp dialect check.
1116 auto testOp = createIndexOperation();
1117
1118 // This condition is always false, so the function is never actually called.
1119 // We only verify it compiles and links correctly.
1121 MlirOpBuilder builder = mlirOpBuilderCreate(context);
1122 MlirLocation location = mlirLocationUnknownGet(context);
1123 auto dummyValue = mlirOperationGetResult(testOp, 0);
1124
1125 (void)llzkVerif_VerifAssertOpBuild(builder, location, dummyValue);
1126 // No need to destroy builder or op since this code never runs.
1127 }
1128
1129 mlirOperationDestroy(testOp);
1130}
1131
1132struct VerifAssertOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
1133 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_VerifAssertOp(op); }
1137 static std::unique_ptr<VerifAssertOpBuildFuncHelper> get();
1138
1139protected:
1141};
1142
1145TEST_F(CAPITest, Verif_VerifAssertOp_build_pass) { VerifAssertOpBuildFuncHelper::get()->run(*this); }
1146
1147TEST_F(VerifOperationLinkTests, llzk_VerifAssertOp_GetCondition) {
1148 auto testOp = createIndexOperation();
1149
1152 }
1153
1154 mlirOperationDestroy(testOp);
1155}
1156
1157TEST_F(VerifOperationLinkTests, llzk_VerifAssertOp_SetCondition) {
1158 auto testOp = createIndexOperation();
1159
1161 auto dummyValue = mlirOperationGetResult(testOp, 0);
1162 llzkVerif_VerifAssertOpSetCondition(testOp, dummyValue);
1163 }
1164
1165 mlirOperationDestroy(testOp);
1166}
1167
1169TEST_F(VerifOperationLinkTests, IsA_Verif_VerifProveOp) {
1170 auto testOperation = createIndexOperation();
1171
1172 // This will always return false since `createIndex*` returns an MLIR builtin
1173 EXPECT_FALSE(llzkOperationIsA_Verif_VerifProveOp(testOperation));
1174
1175 mlirOperationDestroy(testOperation);
1176}
1177
1179TEST_F(VerifOperationLinkTests, llzk_VerifProveOp_Build) {
1180 // Returns an `arith.constant` op, which will never match the VerifProveOp dialect check.
1181 auto testOp = createIndexOperation();
1182
1183 // This condition is always false, so the function is never actually called.
1184 // We only verify it compiles and links correctly.
1186 MlirOpBuilder builder = mlirOpBuilderCreate(context);
1187 MlirLocation location = mlirLocationUnknownGet(context);
1188 auto dummyValue = mlirOperationGetResult(testOp, 0);
1189
1190 (void)llzkVerif_VerifProveOpBuild(builder, location, dummyValue);
1191 // No need to destroy builder or op since this code never runs.
1192 }
1193
1194 mlirOperationDestroy(testOp);
1195}
1196
1197struct VerifProveOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
1198 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_VerifProveOp(op); }
1202 static std::unique_ptr<VerifProveOpBuildFuncHelper> get();
1203
1204protected:
1206};
1207
1210TEST_F(CAPITest, Verif_VerifProveOp_build_pass) { VerifProveOpBuildFuncHelper::get()->run(*this); }
1211
1212TEST_F(VerifOperationLinkTests, llzk_VerifProveOp_GetCondition) {
1213 auto testOp = createIndexOperation();
1214
1217 }
1218
1219 mlirOperationDestroy(testOp);
1220}
1221
1222TEST_F(VerifOperationLinkTests, llzk_VerifProveOp_SetCondition) {
1223 auto testOp = createIndexOperation();
1224
1226 auto dummyValue = mlirOperationGetResult(testOp, 0);
1227 llzkVerif_VerifProveOpSetCondition(testOp, dummyValue);
1228 }
1229
1230 mlirOperationDestroy(testOp);
1231}
1232
1234TEST_F(VerifOperationLinkTests, IsA_Verif_VerifSMTProveOp) {
1235 auto testOperation = createIndexOperation();
1236
1237 // This will always return false since `createIndex*` returns an MLIR builtin
1238 EXPECT_FALSE(llzkOperationIsA_Verif_VerifSMTProveOp(testOperation));
1239
1240 mlirOperationDestroy(testOperation);
1241}
1242
1244TEST_F(VerifOperationLinkTests, llzk_VerifSMTProveOp_Build) {
1245 // Returns an `arith.constant` op, which will never match the VerifSMTProveOp dialect check.
1246 auto testOp = createIndexOperation();
1247
1248 // This condition is always false, so the function is never actually called.
1249 // We only verify it compiles and links correctly.
1251 MlirOpBuilder builder = mlirOpBuilderCreate(context);
1252 MlirLocation location = mlirLocationUnknownGet(context);
1253 auto dummyValue = mlirOperationGetResult(testOp, 0);
1254
1255 (void)llzkVerif_VerifSMTProveOpBuild(builder, location, dummyValue);
1256 // No need to destroy builder or op since this code never runs.
1257 }
1258
1259 mlirOperationDestroy(testOp);
1260}
1261
1262struct VerifSMTProveOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
1263 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Verif_VerifSMTProveOp(op); }
1267 static std::unique_ptr<VerifSMTProveOpBuildFuncHelper> get();
1268
1269protected:
1271};
1272
1275TEST_F(CAPITest, Verif_VerifSMTProveOp_build_pass) { VerifSMTProveOpBuildFuncHelper::get()->run(*this); }
1276
1277TEST_F(VerifOperationLinkTests, llzk_VerifSMTProveOp_GetCondition) {
1278 auto testOp = createIndexOperation();
1279
1282 }
1283
1284 mlirOperationDestroy(testOp);
1285}
1286
1287TEST_F(VerifOperationLinkTests, llzk_VerifSMTProveOp_SetCondition) {
1288 auto testOp = createIndexOperation();
1289
1291 auto dummyValue = mlirOperationGetResult(testOp, 0);
1292 llzkVerif_VerifSMTProveOpSetCondition(testOp, dummyValue);
1293 }
1294
1295 mlirOperationDestroy(testOp);
1296}
TEST_F(ArrayOperationLinkTests, IsA_Array_ArrayLengthOp)
This test ensures llzkOperationIsA_Array_ArrayLengthOp links properly.
MlirOpBuilder mlirOpBuilderCreate(MlirContext ctx)
Creates a new OpBuilder for the given MLIR context.
Definition Builder.cpp:78
MlirValue llzkVerif_OldOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::OldOp Operation.
MlirAttribute llzkVerif_IncludeOpGetNumDimsPerMap(MlirOperation op)
Get NumDimsPerMap attribute from llzk::verif::IncludeOp Operation.
intptr_t llzkVerif_IncludeOpGetMapOperandsCount(MlirOperation op)
Get number of MapOperands operands in llzk::verif::IncludeOp Operation.
void llzkVerif_StepYieldOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::StepYieldOp Operation.
void llzkVerif_VerifAssertOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifAssertOp Operation.
void llzkVerif_IncludeOpSetTemplateParams(MlirOperation op, MlirAttribute attr)
Set TemplateParams attribute of llzk::verif::IncludeOp Operation.
void llzkVerif_IncludeOpSetMapOpGroupSizes(MlirOperation op, MlirAttribute attr)
Set MapOpGroupSizes attribute of llzk::verif::IncludeOp Operation.
MlirValue llzkVerif_VerifProveOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifProveOp Operation.
void llzkVerif_VerifProveOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifProveOp Operation.
MlirOperation llzkVerif_RequireComputeOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::RequireComputeOp Operation.
void llzkVerif_IncludeOpSetCallee(MlirOperation op, MlirAttribute attr)
Set Callee attribute of llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_RequireConstrainOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::RequireConstrainOp Operation.
bool llzkVerif_ContractOpHasStructTarget(MlirOperation inp)
Return true iff the contract targets a struct type.
void llzkVerif_RequireConstrainOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::RequireConstrainOp Operation.
MlirValue llzkVerif_VerifSMTProveOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifSMTProveOp Operation.
MlirRegion llzkVerif_ContractOpGetBody(MlirOperation op)
Get Body region from llzk::verif::ContractOp Operation.
MlirAttribute llzkVerif_IncludeOpGetTemplateParams(MlirOperation op)
Get TemplateParams attribute from llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_StepOpBuild(MlirOpBuilder builder, MlirLocation location)
Build a llzk::verif::StepOp Operation.
bool llzkOperationIsA_Verif_RequireConstrainOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::RequireConstrainOp.
MlirOperation llzkVerif_EnsureConstrainOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::EnsureConstrainOp Operation.
MlirAttribute llzkVerif_IncludeOpGetMapOpGroupSizes(MlirOperation op)
Get MapOpGroupSizes attribute from llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_VerifSMTProveOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifSMTProveOp.
MlirOperation llzkVerif_ContractEndOpBuild(MlirOpBuilder builder, MlirLocation location)
Build a llzk::verif::ContractEndOp Operation.
void llzkVerif_EnsureComputeOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::EnsureComputeOp Operation.
MlirValue llzkVerif_StepYieldOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::StepYieldOp Operation.
MlirOperation llzkVerif_VerifProveOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifProveOp Operation.
MlirOperation llzkVerif_VerifSMTProveOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifSMTProveOp Operation.
MlirAttribute llzkVerif_InvariantOpGetLoopName(MlirOperation op)
Get LoopName attribute from llzk::verif::InvariantOp Operation.
bool llzkVerif_ContractOpHasArgPublicAttr(MlirOperation inp, unsigned index)
Return true iff the argument at the given index has pub attribute.
bool llzkOperationIsA_Verif_ContractEndOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::ContractEndOp.
MlirRegion llzkVerif_StepOpGetRegion(MlirOperation op)
Get Region region from llzk::verif::StepOp Operation.
intptr_t llzkVerif_IncludeOpGetArgOperandsCount(MlirOperation op)
Get number of ArgOperands operands in llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_DecreasesOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::DecreasesOp.
bool llzkOperationIsA_Verif_StepYieldOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::StepYieldOp.
bool llzkOperationIsA_Verif_InvariantOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::InvariantOp.
MlirAttribute llzkVerif_ContractOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::verif::ContractOp Operation.
void llzkVerif_IncreasesOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::IncreasesOp Operation.
MlirValue llzkVerif_VerifAssertOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::VerifAssertOp Operation.
MlirOperation llzkVerif_IncreasesOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::IncreasesOp Operation.
MlirAttribute llzkVerif_InvariantOpGetLoopArgTypes(MlirOperation op)
Get LoopArgTypes attribute from llzk::verif::InvariantOp Operation.
MlirOperation llzkVerif_OldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::OldOp Operation.
void llzkVerif_VerifSMTProveOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::VerifSMTProveOp Operation.
bool llzkVerif_ContractOpHasArgName(MlirOperation inp, unsigned index)
Return true iff the argument at the given index has a function.arg_name attribute.
bool llzkVerif_IncludeOpContractTargetsStruct(MlirOperation inp)
Return true iff the contract targets a struct type.
bool llzkOperationIsA_Verif_RequireComputeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::RequireComputeOp.
MlirAttribute llzkVerif_ContractOpGetTarget(MlirOperation op)
Get Target attribute from llzk::verif::ContractOp Operation.
MlirAttribute llzkVerif_ContractOpGetFunctionType(MlirOperation op)
Get FunctionType attribute from llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_EnsureConstrainOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::EnsureConstrainOp.
MlirAttribute llzkVerif_ContractOpGetArgAttrs(MlirOperation op)
Get ArgAttrs attribute from llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_EnsureComputeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::EnsureComputeOp.
void llzkVerif_IncludeOpSetArgOperands(MlirOperation op, intptr_t count, MlirValue const *values)
Set ArgOperands operands of llzk::verif::IncludeOp Operation.
MlirOperation llzkVerif_DecreasesOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::DecreasesOp Operation.
void llzkVerif_IncludeOpSetNumDimsPerMap(MlirOperation op, MlirAttribute attr)
Set NumDimsPerMap attribute of llzk::verif::IncludeOp Operation.
void llzkVerif_ContractOpSetTarget(MlirOperation op, MlirAttribute attr)
Set Target attribute of llzk::verif::ContractOp Operation.
void llzkVerif_EnsureConstrainOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::EnsureConstrainOp Operation.
MlirAttribute llzkVerif_IncludeOpGetCallee(MlirOperation op)
Get Callee attribute from llzk::verif::IncludeOp Operation.
bool llzkVerif_ContractOpIsDeclaration(MlirOperation inp)
Required by SymbolOpInterface.
MlirOperation llzkVerif_InvariantOpGetParentContract(MlirOperation inp)
Returns the contract operation that contains this invariant.
MlirOperation llzkVerif_StepYieldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::verif::StepYieldOp Operation.
MlirValue llzkVerif_IncludeOpGetMapOperandsAt(MlirOperation op, intptr_t index)
Get MapOperands operand at index from llzk::verif::IncludeOp Operation.
void llzkVerif_ContractOpSetArgAttrs(MlirOperation op, MlirAttribute attr)
Set ArgAttrs attribute of llzk::verif::ContractOp Operation.
void llzkVerif_InvariantOpSetLoopName(MlirOperation op, MlirAttribute attr)
Set LoopName attribute of llzk::verif::InvariantOp Operation.
MlirOperation llzkVerif_EnsureComputeOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::EnsureComputeOp Operation.
MlirValue llzkVerif_RequireComputeOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::RequireComputeOp Operation.
bool llzkOperationIsA_Verif_IncludeOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::IncludeOp.
void llzkVerif_InvariantOpSetLoopArgTypes(MlirOperation op, MlirAttribute attr)
Set LoopArgTypes attribute of llzk::verif::InvariantOp Operation.
MlirValue llzkVerif_IncludeOpGetArgOperandsAt(MlirOperation op, intptr_t index)
Get ArgOperands operand at index from llzk::verif::IncludeOp Operation.
void llzkVerif_RequireComputeOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::verif::RequireComputeOp Operation.
void llzkVerif_IncludeOpSetMapOperands(MlirOperation op, intptr_t groupCount, MlirValueRange const *groups)
Set MapOperands operand groups of llzk::verif::IncludeOp Operation.
bool llzkOperationIsA_Verif_IncreasesOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::IncreasesOp.
bool llzkOperationIsA_Verif_StepOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::StepOp.
void llzkVerif_DecreasesOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::DecreasesOp Operation.
MlirRegion llzkVerif_InvariantOpGetRegion(MlirOperation op)
Get Region region from llzk::verif::InvariantOp Operation.
MlirValue llzkVerif_IncludeOpGetSelfValue(MlirOperation inp)
Return the "self" value (i.e.
MlirValue llzkVerif_IncreasesOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::IncreasesOp Operation.
MlirType llzkVerif_IncludeOpGetTypeSignature(MlirOperation inp)
Return the FunctionType inferred from the arg operands of this CallOp.
void llzkVerif_OldOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::verif::OldOp Operation.
MlirValue llzkVerif_EnsureComputeOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::EnsureComputeOp Operation.
bool llzkOperationIsA_Verif_VerifAssertOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifAssertOp.
MlirValue llzkVerif_EnsureConstrainOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::EnsureConstrainOp Operation.
MlirRegion llzkVerif_ContractOpGetCallableRegion(MlirOperation inp)
Required by FunctionOpInterface.
bool llzkOperationIsA_Verif_VerifProveOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::VerifProveOp.
MlirValue llzkVerif_RequireConstrainOpGetCondition(MlirOperation op)
Get Condition operand from llzk::verif::RequireConstrainOp Operation.
bool llzkVerif_ContractOpHasFuncTarget(MlirOperation inp)
Return true iff the contract targets a function.
MlirOperation llzkVerif_VerifAssertOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition)
Build a llzk::verif::VerifAssertOp Operation.
bool llzkOperationIsA_Verif_ContractOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::ContractOp.
MlirAttribute llzkVerif_ContractOpGetFullyQualifiedName(MlirOperation inp, bool requireParent)
Return the full name for this contract from the root module, including all surrounding symbol table n...
MlirValue llzkVerif_OldOpGetResult(MlirOperation op)
Get Result result from llzk::verif::OldOp Operation.
void llzkVerif_ContractOpSetFunctionType(MlirOperation op, MlirAttribute attr)
Set FunctionType attribute of llzk::verif::ContractOp Operation.
MlirValue llzkVerif_DecreasesOpGetValue(MlirOperation op)
Get Value operand from llzk::verif::DecreasesOp Operation.
void llzkVerif_ContractOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::verif::ContractOp Operation.
bool llzkOperationIsA_Verif_OldOp(MlirOperation inp)
Returns true if the Operation is a llzk::verif::OldOp.
MlirOperation llzkVerif_IncludeOpResolveCallable(MlirOperation inp)
Required by CallOpInterface.
static std::unique_ptr< ContractEndOpBuildFuncHelper > get()
This method must be implemented to return a subclass of ContractEndOpBuildFuncHelper that at least im...
virtual bool callIsA(MlirOperation op) override
DecreasesOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< DecreasesOpBuildFuncHelper > get()
This method must be implemented to return a subclass of DecreasesOpBuildFuncHelper that at least impl...
static std::unique_ptr< EnsureComputeOpBuildFuncHelper > get()
This method must be implemented to return a subclass of EnsureComputeOpBuildFuncHelper that at least ...
virtual bool callIsA(MlirOperation op) override
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< EnsureConstrainOpBuildFuncHelper > get()
This method must be implemented to return a subclass of EnsureConstrainOpBuildFuncHelper that at leas...
virtual bool callIsA(MlirOperation op) override
IncreasesOpBuildFuncHelper()=default
static std::unique_ptr< IncreasesOpBuildFuncHelper > get()
This method must be implemented to return a subclass of IncreasesOpBuildFuncHelper that at least impl...
Representation of an mlir::ValueRange
Definition Support.h:47
MlirValue const * values
Pointer to the first value in the range.
Definition Support.h:49
intptr_t size
Number of values in the range.
Definition Support.h:51
OldOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< OldOpBuildFuncHelper > get()
This method must be implemented to return a subclass of OldOpBuildFuncHelper that at least implements...
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< RequireComputeOpBuildFuncHelper > get()
This method must be implemented to return a subclass of RequireComputeOpBuildFuncHelper that at least...
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< RequireConstrainOpBuildFuncHelper > get()
This method must be implemented to return a subclass of RequireConstrainOpBuildFuncHelper that at lea...
static std::unique_ptr< StepOpBuildFuncHelper > get()
This method must be implemented to return a subclass of StepOpBuildFuncHelper that at least implement...
StepOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< StepYieldOpBuildFuncHelper > get()
This method must be implemented to return a subclass of StepYieldOpBuildFuncHelper that at least impl...
virtual bool callIsA(MlirOperation op) override
StepYieldOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< VerifAssertOpBuildFuncHelper > get()
This method must be implemented to return a subclass of VerifAssertOpBuildFuncHelper that at least im...
static std::unique_ptr< VerifProveOpBuildFuncHelper > get()
This method must be implemented to return a subclass of VerifProveOpBuildFuncHelper that at least imp...
virtual bool callIsA(MlirOperation op) override
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< VerifSMTProveOpBuildFuncHelper > get()
This method must be implemented to return a subclass of VerifSMTProveOpBuildFuncHelper that at least ...