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 BoolOperationLinkTests : public CAPITest {};
11
13TEST_F(BoolOperationLinkTests, IsA_Bool_ExistsOp) {
14 auto testOperation = createIndexOperation();
15
16 // This will always return false since `createIndex*` returns an MLIR builtin
17 EXPECT_FALSE(llzkOperationIsA_Bool_ExistsOp(testOperation));
18
19 mlirOperationDestroy(testOperation);
20}
21
23TEST_F(BoolOperationLinkTests, llzk_ExistsOp_Build) {
24 // Returns an `arith.constant` op, which will never match the ExistsOp 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)llzkBool_ExistsOpBuild(builder, location, dummyValue);
35 // No need to destroy builder or op since this code never runs.
36 }
37
38 mlirOperationDestroy(testOp);
39}
40
41struct ExistsOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
42 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_ExistsOp(op); }
46 static std::unique_ptr<ExistsOpBuildFuncHelper> get();
47
48protected:
50};
51
54TEST_F(CAPITest, Bool_ExistsOp_build_pass) { ExistsOpBuildFuncHelper::get()->run(*this); }
55
56TEST_F(BoolOperationLinkTests, llzk_ExistsOp_GetSort) {
57 auto testOp = createIndexOperation();
58
60 (void)llzkBool_ExistsOpGetSort(testOp);
61 }
62
63 mlirOperationDestroy(testOp);
64}
65
66TEST_F(BoolOperationLinkTests, llzk_ExistsOp_SetSort) {
67 auto testOp = createIndexOperation();
68
70 auto dummyValue = mlirOperationGetResult(testOp, 0);
71 llzkBool_ExistsOpSetSort(testOp, dummyValue);
72 }
73
74 mlirOperationDestroy(testOp);
75}
76
77TEST_F(BoolOperationLinkTests, llzk_ExistsOp_GetRegionRegion) {
78 auto testOp = createIndexOperation();
79
81 (void)llzkBool_ExistsOpGetRegion(testOp);
82 }
83
84 mlirOperationDestroy(testOp);
85}
86
87TEST_F(BoolOperationLinkTests, llzk_ExistsOp_GetResult) {
88 auto testOp = createIndexOperation();
89
91 (void)llzkBool_ExistsOpGetResult(testOp);
92 }
93
94 mlirOperationDestroy(testOp);
95}
96
98TEST_F(BoolOperationLinkTests, IsA_Bool_ForAllOp) {
99 auto testOperation = createIndexOperation();
100
101 // This will always return false since `createIndex*` returns an MLIR builtin
102 EXPECT_FALSE(llzkOperationIsA_Bool_ForAllOp(testOperation));
103
104 mlirOperationDestroy(testOperation);
105}
106
108TEST_F(BoolOperationLinkTests, llzk_ForAllOp_Build) {
109 // Returns an `arith.constant` op, which will never match the ForAllOp dialect check.
110 auto testOp = createIndexOperation();
111
112 // This condition is always false, so the function is never actually called.
113 // We only verify it compiles and links correctly.
114 if (llzkOperationIsA_Bool_ForAllOp(testOp)) {
115 MlirOpBuilder builder = mlirOpBuilderCreate(context);
116 MlirLocation location = mlirLocationUnknownGet(context);
117 auto dummyValue = mlirOperationGetResult(testOp, 0);
118
119 (void)llzkBool_ForAllOpBuild(builder, location, dummyValue);
120 // No need to destroy builder or op since this code never runs.
121 }
122
123 mlirOperationDestroy(testOp);
124}
125
126struct ForAllOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
127 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_ForAllOp(op); }
131 static std::unique_ptr<ForAllOpBuildFuncHelper> get();
132
133protected:
135};
136
139TEST_F(CAPITest, Bool_ForAllOp_build_pass) { ForAllOpBuildFuncHelper::get()->run(*this); }
140
141TEST_F(BoolOperationLinkTests, llzk_ForAllOp_GetSort) {
142 auto testOp = createIndexOperation();
143
144 if (llzkOperationIsA_Bool_ForAllOp(testOp)) {
145 (void)llzkBool_ForAllOpGetSort(testOp);
146 }
147
148 mlirOperationDestroy(testOp);
149}
150
151TEST_F(BoolOperationLinkTests, llzk_ForAllOp_SetSort) {
152 auto testOp = createIndexOperation();
153
154 if (llzkOperationIsA_Bool_ForAllOp(testOp)) {
155 auto dummyValue = mlirOperationGetResult(testOp, 0);
156 llzkBool_ForAllOpSetSort(testOp, dummyValue);
157 }
158
159 mlirOperationDestroy(testOp);
160}
161
162TEST_F(BoolOperationLinkTests, llzk_ForAllOp_GetRegionRegion) {
163 auto testOp = createIndexOperation();
164
165 if (llzkOperationIsA_Bool_ForAllOp(testOp)) {
166 (void)llzkBool_ForAllOpGetRegion(testOp);
167 }
168
169 mlirOperationDestroy(testOp);
170}
171
172TEST_F(BoolOperationLinkTests, llzk_ForAllOp_GetResult) {
173 auto testOp = createIndexOperation();
174
175 if (llzkOperationIsA_Bool_ForAllOp(testOp)) {
176 (void)llzkBool_ForAllOpGetResult(testOp);
177 }
178
179 mlirOperationDestroy(testOp);
180}
181
183TEST_F(BoolOperationLinkTests, IsA_Bool_AndBoolOp) {
184 auto testOperation = createIndexOperation();
185
186 // This will always return false since `createIndex*` returns an MLIR builtin
187 EXPECT_FALSE(llzkOperationIsA_Bool_AndBoolOp(testOperation));
188
189 mlirOperationDestroy(testOperation);
190}
191
193TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_Build) {
194 // Returns an `arith.constant` op, which will never match the AndBoolOp dialect check.
195 auto testOp = createIndexOperation();
196
197 // This condition is always false, so the function is never actually called.
198 // We only verify it compiles and links correctly.
200 MlirOpBuilder builder = mlirOpBuilderCreate(context);
201 MlirLocation location = mlirLocationUnknownGet(context);
202 auto dummyValue = mlirOperationGetResult(testOp, 0);
203
204 (void)llzkBool_AndBoolOpBuild(builder, location, dummyValue, dummyValue);
205 // No need to destroy builder or op since this code never runs.
206 }
207
208 mlirOperationDestroy(testOp);
209}
210
211struct AndBoolOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
212 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_AndBoolOp(op); }
216 static std::unique_ptr<AndBoolOpBuildFuncHelper> get();
217
218protected:
220};
221
224TEST_F(CAPITest, Bool_AndBoolOp_build_pass) { AndBoolOpBuildFuncHelper::get()->run(*this); }
225
226TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_GetLhs) {
227 auto testOp = createIndexOperation();
228
230 (void)llzkBool_AndBoolOpGetLhs(testOp);
231 }
232
233 mlirOperationDestroy(testOp);
234}
235
236TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_SetLhs) {
237 auto testOp = createIndexOperation();
238
240 auto dummyValue = mlirOperationGetResult(testOp, 0);
241 llzkBool_AndBoolOpSetLhs(testOp, dummyValue);
242 }
243
244 mlirOperationDestroy(testOp);
245}
246
247TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_GetRhs) {
248 auto testOp = createIndexOperation();
249
251 (void)llzkBool_AndBoolOpGetRhs(testOp);
252 }
253
254 mlirOperationDestroy(testOp);
255}
256
257TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_SetRhs) {
258 auto testOp = createIndexOperation();
259
261 auto dummyValue = mlirOperationGetResult(testOp, 0);
262 llzkBool_AndBoolOpSetRhs(testOp, dummyValue);
263 }
264
265 mlirOperationDestroy(testOp);
266}
267
268TEST_F(BoolOperationLinkTests, llzk_AndBoolOp_GetResult) {
269 auto testOp = createIndexOperation();
270
272 (void)llzkBool_AndBoolOpGetResult(testOp);
273 }
274
275 mlirOperationDestroy(testOp);
276}
277
279TEST_F(BoolOperationLinkTests, IsA_Bool_AssertOp) {
280 auto testOperation = createIndexOperation();
281
282 // This will always return false since `createIndex*` returns an MLIR builtin
283 EXPECT_FALSE(llzkOperationIsA_Bool_AssertOp(testOperation));
284
285 mlirOperationDestroy(testOperation);
286}
287
289TEST_F(BoolOperationLinkTests, llzk_AssertOp_Build) {
290 // Returns an `arith.constant` op, which will never match the AssertOp dialect check.
291 auto testOp = createIndexOperation();
292
293 // This condition is always false, so the function is never actually called.
294 // We only verify it compiles and links correctly.
295 if (llzkOperationIsA_Bool_AssertOp(testOp)) {
296 MlirOpBuilder builder = mlirOpBuilderCreate(context);
297 MlirLocation location = mlirLocationUnknownGet(context);
298 auto dummyValue = mlirOperationGetResult(testOp, 0);
299 auto msgAttr = mlirOperationGetName(testOp);
300
301 (void)llzkBool_AssertOpBuild(builder, location, dummyValue, msgAttr);
302 // No need to destroy builder or op since this code never runs.
303 }
304
305 mlirOperationDestroy(testOp);
306}
307
308struct AssertOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
309 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_AssertOp(op); }
313 static std::unique_ptr<AssertOpBuildFuncHelper> get();
314
315protected:
317};
318
321TEST_F(CAPITest, Bool_AssertOp_build_pass) { AssertOpBuildFuncHelper::get()->run(*this); }
322
323TEST_F(BoolOperationLinkTests, llzk_AssertOp_GetCondition) {
324 auto testOp = createIndexOperation();
325
326 if (llzkOperationIsA_Bool_AssertOp(testOp)) {
327 (void)llzkBool_AssertOpGetCondition(testOp);
328 }
329
330 mlirOperationDestroy(testOp);
331}
332
333TEST_F(BoolOperationLinkTests, llzk_AssertOp_SetCondition) {
334 auto testOp = createIndexOperation();
335
336 if (llzkOperationIsA_Bool_AssertOp(testOp)) {
337 auto dummyValue = mlirOperationGetResult(testOp, 0);
338 llzkBool_AssertOpSetCondition(testOp, dummyValue);
339 }
340
341 mlirOperationDestroy(testOp);
342}
343
344TEST_F(BoolOperationLinkTests, llzk_AssertOp_GetMsgAttr) {
345 auto testOp = createIndexOperation();
346
347 if (llzkOperationIsA_Bool_AssertOp(testOp)) {
348 (void)llzkBool_AssertOpGetMsg(testOp);
349 }
350
351 mlirOperationDestroy(testOp);
352}
353
354TEST_F(BoolOperationLinkTests, llzk_AssertOp_SetMsgAttr) {
355 auto testOp = createIndexOperation();
356
357 if (llzkOperationIsA_Bool_AssertOp(testOp)) {
358 llzkBool_AssertOpSetMsg(testOp, createIndexAttribute());
359 }
360
361 mlirOperationDestroy(testOp);
362}
363
366 auto testOperation = createIndexOperation();
367
368 // This will always return false since `createIndex*` returns an MLIR builtin
369 EXPECT_FALSE(llzkOperationIsA_Bool_CmpOp(testOperation));
370
371 mlirOperationDestroy(testOperation);
372}
373
375TEST_F(BoolOperationLinkTests, llzk_CmpOp_Build) {
376 // Returns an `arith.constant` op, which will never match the CmpOp dialect check.
377 auto testOp = createIndexOperation();
378
379 // This condition is always false, so the function is never actually called.
380 // We only verify it compiles and links correctly.
381 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
382 MlirOpBuilder builder = mlirOpBuilderCreate(context);
383 MlirLocation location = mlirLocationUnknownGet(context);
384 auto dummyValue = mlirOperationGetResult(testOp, 0);
385 auto predicateAttr = createIndexAttribute();
386
387 (void)llzkBool_CmpOpBuild(builder, location, dummyValue, dummyValue, predicateAttr);
388 // No need to destroy builder or op since this code never runs.
389 }
390
391 mlirOperationDestroy(testOp);
392}
393
394struct CmpOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
395 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_CmpOp(op); }
399 static std::unique_ptr<CmpOpBuildFuncHelper> get();
400
401protected:
403};
404
407TEST_F(CAPITest, Bool_CmpOp_build_pass) { CmpOpBuildFuncHelper::get()->run(*this); }
408
409TEST_F(BoolOperationLinkTests, llzk_CmpOp_GetLhs) {
410 auto testOp = createIndexOperation();
411
412 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
413 (void)llzkBool_CmpOpGetLhs(testOp);
414 }
415
416 mlirOperationDestroy(testOp);
417}
418
419TEST_F(BoolOperationLinkTests, llzk_CmpOp_SetLhs) {
420 auto testOp = createIndexOperation();
421
422 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
423 auto dummyValue = mlirOperationGetResult(testOp, 0);
424 llzkBool_CmpOpSetLhs(testOp, dummyValue);
425 }
426
427 mlirOperationDestroy(testOp);
428}
429
430TEST_F(BoolOperationLinkTests, llzk_CmpOp_GetRhs) {
431 auto testOp = createIndexOperation();
432
433 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
434 (void)llzkBool_CmpOpGetRhs(testOp);
435 }
436
437 mlirOperationDestroy(testOp);
438}
439
440TEST_F(BoolOperationLinkTests, llzk_CmpOp_SetRhs) {
441 auto testOp = createIndexOperation();
442
443 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
444 auto dummyValue = mlirOperationGetResult(testOp, 0);
445 llzkBool_CmpOpSetRhs(testOp, dummyValue);
446 }
447
448 mlirOperationDestroy(testOp);
449}
450
451TEST_F(BoolOperationLinkTests, llzk_CmpOp_GetPredicateAttr) {
452 auto testOp = createIndexOperation();
453
454 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
455 (void)llzkBool_CmpOpGetPredicate(testOp);
456 }
457
458 mlirOperationDestroy(testOp);
459}
460
461TEST_F(BoolOperationLinkTests, llzk_CmpOp_SetPredicateAttr) {
462 auto testOp = createIndexOperation();
463
464 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
465 llzkBool_CmpOpSetPredicate(testOp, createIndexAttribute());
466 }
467
468 mlirOperationDestroy(testOp);
469}
470
471TEST_F(BoolOperationLinkTests, llzk_CmpOp_GetResult) {
472 auto testOp = createIndexOperation();
473
474 if (llzkOperationIsA_Bool_CmpOp(testOp)) {
475 (void)llzkBool_CmpOpGetResult(testOp);
476 }
477
478 mlirOperationDestroy(testOp);
479}
480
482TEST_F(BoolOperationLinkTests, IsA_Bool_NotBoolOp) {
483 auto testOperation = createIndexOperation();
484
485 // This will always return false since `createIndex*` returns an MLIR builtin
486 EXPECT_FALSE(llzkOperationIsA_Bool_NotBoolOp(testOperation));
487
488 mlirOperationDestroy(testOperation);
489}
490
492TEST_F(BoolOperationLinkTests, llzk_NotBoolOp_Build) {
493 // Returns an `arith.constant` op, which will never match the NotBoolOp dialect check.
494 auto testOp = createIndexOperation();
495
496 // This condition is always false, so the function is never actually called.
497 // We only verify it compiles and links correctly.
499 MlirOpBuilder builder = mlirOpBuilderCreate(context);
500 MlirLocation location = mlirLocationUnknownGet(context);
501 auto dummyValue = mlirOperationGetResult(testOp, 0);
502
503 (void)llzkBool_NotBoolOpBuild(builder, location, dummyValue);
504 // No need to destroy builder or op since this code never runs.
505 }
506
507 mlirOperationDestroy(testOp);
508}
509
510struct NotBoolOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
511 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_NotBoolOp(op); }
515 static std::unique_ptr<NotBoolOpBuildFuncHelper> get();
516
517protected:
519};
520
523TEST_F(CAPITest, Bool_NotBoolOp_build_pass) { NotBoolOpBuildFuncHelper::get()->run(*this); }
524
525TEST_F(BoolOperationLinkTests, llzk_NotBoolOp_GetOperand) {
526 auto testOp = createIndexOperation();
527
529 (void)llzkBool_NotBoolOpGetOperand(testOp);
530 }
531
532 mlirOperationDestroy(testOp);
533}
534
535TEST_F(BoolOperationLinkTests, llzk_NotBoolOp_SetOperand) {
536 auto testOp = createIndexOperation();
537
539 auto dummyValue = mlirOperationGetResult(testOp, 0);
540 llzkBool_NotBoolOpSetOperand(testOp, dummyValue);
541 }
542
543 mlirOperationDestroy(testOp);
544}
545
546TEST_F(BoolOperationLinkTests, llzk_NotBoolOp_GetResult) {
547 auto testOp = createIndexOperation();
548
550 (void)llzkBool_NotBoolOpGetResult(testOp);
551 }
552
553 mlirOperationDestroy(testOp);
554}
555
557TEST_F(BoolOperationLinkTests, IsA_Bool_OrBoolOp) {
558 auto testOperation = createIndexOperation();
559
560 // This will always return false since `createIndex*` returns an MLIR builtin
561 EXPECT_FALSE(llzkOperationIsA_Bool_OrBoolOp(testOperation));
562
563 mlirOperationDestroy(testOperation);
564}
565
567TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_Build) {
568 // Returns an `arith.constant` op, which will never match the OrBoolOp dialect check.
569 auto testOp = createIndexOperation();
570
571 // This condition is always false, so the function is never actually called.
572 // We only verify it compiles and links correctly.
573 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
574 MlirOpBuilder builder = mlirOpBuilderCreate(context);
575 MlirLocation location = mlirLocationUnknownGet(context);
576 auto dummyValue = mlirOperationGetResult(testOp, 0);
577
578 (void)llzkBool_OrBoolOpBuild(builder, location, dummyValue, dummyValue);
579 // No need to destroy builder or op since this code never runs.
580 }
581
582 mlirOperationDestroy(testOp);
583}
584
585struct OrBoolOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
586 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_OrBoolOp(op); }
590 static std::unique_ptr<OrBoolOpBuildFuncHelper> get();
591
592protected:
594};
595
598TEST_F(CAPITest, Bool_OrBoolOp_build_pass) { OrBoolOpBuildFuncHelper::get()->run(*this); }
599
600TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_GetLhs) {
601 auto testOp = createIndexOperation();
602
603 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
604 (void)llzkBool_OrBoolOpGetLhs(testOp);
605 }
606
607 mlirOperationDestroy(testOp);
608}
609
610TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_SetLhs) {
611 auto testOp = createIndexOperation();
612
613 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
614 auto dummyValue = mlirOperationGetResult(testOp, 0);
615 llzkBool_OrBoolOpSetLhs(testOp, dummyValue);
616 }
617
618 mlirOperationDestroy(testOp);
619}
620
621TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_GetRhs) {
622 auto testOp = createIndexOperation();
623
624 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
625 (void)llzkBool_OrBoolOpGetRhs(testOp);
626 }
627
628 mlirOperationDestroy(testOp);
629}
630
631TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_SetRhs) {
632 auto testOp = createIndexOperation();
633
634 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
635 auto dummyValue = mlirOperationGetResult(testOp, 0);
636 llzkBool_OrBoolOpSetRhs(testOp, dummyValue);
637 }
638
639 mlirOperationDestroy(testOp);
640}
641
642TEST_F(BoolOperationLinkTests, llzk_OrBoolOp_GetResult) {
643 auto testOp = createIndexOperation();
644
645 if (llzkOperationIsA_Bool_OrBoolOp(testOp)) {
646 (void)llzkBool_OrBoolOpGetResult(testOp);
647 }
648
649 mlirOperationDestroy(testOp);
650}
651
653TEST_F(BoolOperationLinkTests, IsA_Bool_XorBoolOp) {
654 auto testOperation = createIndexOperation();
655
656 // This will always return false since `createIndex*` returns an MLIR builtin
657 EXPECT_FALSE(llzkOperationIsA_Bool_XorBoolOp(testOperation));
658
659 mlirOperationDestroy(testOperation);
660}
661
663TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_Build) {
664 // Returns an `arith.constant` op, which will never match the XorBoolOp dialect check.
665 auto testOp = createIndexOperation();
666
667 // This condition is always false, so the function is never actually called.
668 // We only verify it compiles and links correctly.
670 MlirOpBuilder builder = mlirOpBuilderCreate(context);
671 MlirLocation location = mlirLocationUnknownGet(context);
672 auto dummyValue = mlirOperationGetResult(testOp, 0);
673
674 (void)llzkBool_XorBoolOpBuild(builder, location, dummyValue, dummyValue);
675 // No need to destroy builder or op since this code never runs.
676 }
677
678 mlirOperationDestroy(testOp);
679}
680
681struct XorBoolOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
682 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_XorBoolOp(op); }
686 static std::unique_ptr<XorBoolOpBuildFuncHelper> get();
687
688protected:
690};
691
694TEST_F(CAPITest, Bool_XorBoolOp_build_pass) { XorBoolOpBuildFuncHelper::get()->run(*this); }
695
696TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_GetLhs) {
697 auto testOp = createIndexOperation();
698
700 (void)llzkBool_XorBoolOpGetLhs(testOp);
701 }
702
703 mlirOperationDestroy(testOp);
704}
705
706TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_SetLhs) {
707 auto testOp = createIndexOperation();
708
710 auto dummyValue = mlirOperationGetResult(testOp, 0);
711 llzkBool_XorBoolOpSetLhs(testOp, dummyValue);
712 }
713
714 mlirOperationDestroy(testOp);
715}
716
717TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_GetRhs) {
718 auto testOp = createIndexOperation();
719
721 (void)llzkBool_XorBoolOpGetRhs(testOp);
722 }
723
724 mlirOperationDestroy(testOp);
725}
726
727TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_SetRhs) {
728 auto testOp = createIndexOperation();
729
731 auto dummyValue = mlirOperationGetResult(testOp, 0);
732 llzkBool_XorBoolOpSetRhs(testOp, dummyValue);
733 }
734
735 mlirOperationDestroy(testOp);
736}
737
738TEST_F(BoolOperationLinkTests, llzk_XorBoolOp_GetResult) {
739 auto testOp = createIndexOperation();
740
742 (void)llzkBool_XorBoolOpGetResult(testOp);
743 }
744
745 mlirOperationDestroy(testOp);
746}
747
749TEST_F(BoolOperationLinkTests, IsA_Bool_YieldOp) {
750 auto testOperation = createIndexOperation();
751
752 // This will always return false since `createIndex*` returns an MLIR builtin
753 EXPECT_FALSE(llzkOperationIsA_Bool_YieldOp(testOperation));
754
755 mlirOperationDestroy(testOperation);
756}
757
759TEST_F(BoolOperationLinkTests, llzk_YieldOp_Build) {
760 // Returns an `arith.constant` op, which will never match the YieldOp dialect check.
761 auto testOp = createIndexOperation();
762
763 // This condition is always false, so the function is never actually called.
764 // We only verify it compiles and links correctly.
765 if (llzkOperationIsA_Bool_YieldOp(testOp)) {
766 MlirOpBuilder builder = mlirOpBuilderCreate(context);
767 MlirLocation location = mlirLocationUnknownGet(context);
768 auto dummyValue = mlirOperationGetResult(testOp, 0);
769
770 (void)llzkBool_YieldOpBuild(builder, location, dummyValue);
771 // No need to destroy builder or op since this code never runs.
772 }
773
774 mlirOperationDestroy(testOp);
775}
776
777struct YieldOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
778 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Bool_YieldOp(op); }
782 static std::unique_ptr<YieldOpBuildFuncHelper> get();
783
784protected:
786};
787
790TEST_F(CAPITest, Bool_YieldOp_build_pass) { YieldOpBuildFuncHelper::get()->run(*this); }
791
792TEST_F(BoolOperationLinkTests, llzk_YieldOp_GetValue) {
793 auto testOp = createIndexOperation();
794
795 if (llzkOperationIsA_Bool_YieldOp(testOp)) {
796 (void)llzkBool_YieldOpGetValue(testOp);
797 }
798
799 mlirOperationDestroy(testOp);
800}
801
802TEST_F(BoolOperationLinkTests, llzk_YieldOp_SetValue) {
803 auto testOp = createIndexOperation();
804
805 if (llzkOperationIsA_Bool_YieldOp(testOp)) {
806 auto dummyValue = mlirOperationGetResult(testOp, 0);
807 llzkBool_YieldOpSetValue(testOp, dummyValue);
808 }
809
810 mlirOperationDestroy(testOp);
811}
TEST_F(ArrayOperationLinkTests, IsA_Array_ArrayLengthOp)
This test ensures llzkOperationIsA_Array_ArrayLengthOp links properly.
void llzkBool_YieldOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::boolean::YieldOp Operation.
MlirOperation llzkBool_AssertOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue condition, MlirIdentifier msg)
Build a llzk::boolean::AssertOp Operation.
void llzkBool_ExistsOpSetSort(MlirOperation op, MlirValue value)
Set Sort operand of llzk::boolean::ExistsOp Operation.
MlirOperation llzkBool_XorBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::XorBoolOp Operation.
MlirOperation llzkBool_ExistsOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue sort)
Build a llzk::boolean::ExistsOp Operation.
void llzkBool_XorBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_NotBoolOpGetOperand(MlirOperation op)
Get Operand operand from llzk::boolean::NotBoolOp Operation.
MlirValue llzkBool_ExistsOpGetSort(MlirOperation op)
Get Sort operand from llzk::boolean::ExistsOp Operation.
MlirValue llzkBool_ForAllOpGetSort(MlirOperation op)
Get Sort operand from llzk::boolean::ForAllOp Operation.
bool llzkOperationIsA_Bool_CmpOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::CmpOp.
MlirValue llzkBool_OrBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::OrBoolOp Operation.
MlirValue llzkBool_AssertOpGetCondition(MlirOperation op)
Get Condition operand from llzk::boolean::AssertOp Operation.
bool llzkOperationIsA_Bool_AssertOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::AssertOp.
MlirValue llzkBool_XorBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_CmpOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::CmpOp Operation.
MlirOperation llzkBool_OrBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::OrBoolOp Operation.
void llzkBool_XorBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::XorBoolOp Operation.
bool llzkOperationIsA_Bool_ExistsOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::ExistsOp.
MlirValue llzkBool_AndBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::AndBoolOp Operation.
MlirOperation llzkBool_ForAllOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue sort)
Build a llzk::boolean::ForAllOp Operation.
bool llzkOperationIsA_Bool_XorBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::XorBoolOp.
MlirOperation llzkBool_CmpOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs, MlirAttribute predicate)
Build a llzk::boolean::CmpOp Operation.
void llzkBool_CmpOpSetPredicate(MlirOperation op, MlirAttribute attr)
Set Predicate attribute of llzk::boolean::CmpOp Operation.
bool llzkOperationIsA_Bool_NotBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::NotBoolOp.
void llzkBool_NotBoolOpSetOperand(MlirOperation op, MlirValue value)
Set Operand operand of llzk::boolean::NotBoolOp Operation.
bool llzkOperationIsA_Bool_ForAllOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::ForAllOp.
MlirAttribute llzkBool_AssertOpGetMsg(MlirOperation op)
Get Msg attribute from llzk::boolean::AssertOp Operation.
MlirValue llzkBool_OrBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::OrBoolOp Operation.
MlirValue llzkBool_OrBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::OrBoolOp Operation.
void llzkBool_AndBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::AndBoolOp Operation.
void llzkBool_AndBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::AndBoolOp Operation.
MlirOperation llzkBool_NotBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue operand)
Build a llzk::boolean::NotBoolOp Operation.
bool llzkOperationIsA_Bool_YieldOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::YieldOp.
MlirValue llzkBool_AndBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::AndBoolOp Operation.
void llzkBool_OrBoolOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::OrBoolOp Operation.
MlirValue llzkBool_ExistsOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::ExistsOp Operation.
void llzkBool_ForAllOpSetSort(MlirOperation op, MlirValue value)
Set Sort operand of llzk::boolean::ForAllOp Operation.
void llzkBool_AssertOpSetCondition(MlirOperation op, MlirValue value)
Set Condition operand of llzk::boolean::AssertOp Operation.
MlirValue llzkBool_CmpOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::CmpOp Operation.
MlirRegion llzkBool_ForAllOpGetRegion(MlirOperation op)
Get Region region from llzk::boolean::ForAllOp Operation.
MlirRegion llzkBool_ExistsOpGetRegion(MlirOperation op)
Get Region region from llzk::boolean::ExistsOp Operation.
MlirValue llzkBool_XorBoolOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::XorBoolOp Operation.
MlirValue llzkBool_AndBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::AndBoolOp Operation.
void llzkBool_OrBoolOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::OrBoolOp Operation.
MlirAttribute llzkBool_CmpOpGetPredicate(MlirOperation op)
Get Predicate attribute from llzk::boolean::CmpOp Operation.
MlirValue llzkBool_NotBoolOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::NotBoolOp Operation.
void llzkBool_AssertOpSetMsg(MlirOperation op, MlirAttribute attr)
Set Msg attribute of llzk::boolean::AssertOp Operation.
bool llzkOperationIsA_Bool_OrBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::OrBoolOp.
MlirValue llzkBool_ForAllOpGetResult(MlirOperation op)
Get Result result from llzk::boolean::ForAllOp Operation.
MlirValue llzkBool_CmpOpGetRhs(MlirOperation op)
Get Rhs operand from llzk::boolean::CmpOp Operation.
MlirValue llzkBool_XorBoolOpGetLhs(MlirOperation op)
Get Lhs operand from llzk::boolean::XorBoolOp Operation.
bool llzkOperationIsA_Bool_AndBoolOp(MlirOperation inp)
Returns true if the Operation is a llzk::boolean::AndBoolOp.
MlirOperation llzkBool_YieldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue value)
Build a llzk::boolean::YieldOp Operation.
MlirOperation llzkBool_AndBoolOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue lhs, MlirValue rhs)
Build a llzk::boolean::AndBoolOp Operation.
void llzkBool_CmpOpSetRhs(MlirOperation op, MlirValue value)
Set Rhs operand of llzk::boolean::CmpOp Operation.
MlirValue llzkBool_YieldOpGetValue(MlirOperation op)
Get Value operand from llzk::boolean::YieldOp Operation.
void llzkBool_CmpOpSetLhs(MlirOperation op, MlirValue value)
Set Lhs operand of llzk::boolean::CmpOp Operation.
MlirOpBuilder mlirOpBuilderCreate(MlirContext ctx)
Creates a new OpBuilder for the given MLIR context.
Definition Builder.cpp:78
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< AndBoolOpBuildFuncHelper > get()
This method must be implemented to return a subclass of AndBoolOpBuildFuncHelper that at least implem...
AndBoolOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< AssertOpBuildFuncHelper > get()
This method must be implemented to return a subclass of AssertOpBuildFuncHelper that at least impleme...
AssertOpBuildFuncHelper()=default
static std::unique_ptr< CmpOpBuildFuncHelper > get()
This method must be implemented to return a subclass of CmpOpBuildFuncHelper that at least implements...
CmpOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
ExistsOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< ExistsOpBuildFuncHelper > get()
This method must be implemented to return a subclass of ExistsOpBuildFuncHelper that at least impleme...
ForAllOpBuildFuncHelper()=default
static std::unique_ptr< ForAllOpBuildFuncHelper > get()
This method must be implemented to return a subclass of ForAllOpBuildFuncHelper that at least impleme...
virtual bool callIsA(MlirOperation op) override
NotBoolOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< NotBoolOpBuildFuncHelper > get()
This method must be implemented to return a subclass of NotBoolOpBuildFuncHelper that at least implem...
static std::unique_ptr< OrBoolOpBuildFuncHelper > get()
This method must be implemented to return a subclass of OrBoolOpBuildFuncHelper that at least impleme...
OrBoolOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
virtual bool callIsA(MlirOperation op) override
XorBoolOpBuildFuncHelper()=default
static std::unique_ptr< XorBoolOpBuildFuncHelper > get()
This method must be implemented to return a subclass of XorBoolOpBuildFuncHelper that at least implem...
YieldOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< YieldOpBuildFuncHelper > get()
This method must be implemented to return a subclass of YieldOpBuildFuncHelper that at least implemen...