LLZK 2.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 PolyOperationLinkTests : public CAPITest {};
11
13TEST_F(PolyOperationLinkTests, IsA_Poly_ApplyMapOp) {
14 auto testOperation = createIndexOperation();
15
16 // This will always return false since `createIndex*` returns an MLIR builtin
17 EXPECT_FALSE(llzkOperationIsA_Poly_ApplyMapOp(testOperation));
18
19 mlirOperationDestroy(testOperation);
20}
21
22TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetMapOperandsCount) {
23 auto testOp = createIndexOperation();
24
27 }
28
29 mlirOperationDestroy(testOp);
30}
31
32TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetMapOperandsAt) {
33 auto testOp = createIndexOperation();
34
37 }
38
39 mlirOperationDestroy(testOp);
40}
41
42TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_SetMapOperands_Variadic) {
43 auto testOp = createIndexOperation();
44
46 auto dummyValue = mlirOperationGetResult(testOp, 0);
47 MlirValue values[] = {dummyValue};
48 llzkPoly_ApplyMapOpSetMapOperands(testOp, 1, values);
49 }
50
51 mlirOperationDestroy(testOp);
52}
53
54TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetMapAttr) {
55 auto testOp = createIndexOperation();
56
58 (void)llzkPoly_ApplyMapOpGetMap(testOp);
59 }
60
61 mlirOperationDestroy(testOp);
62}
63
64TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_SetMapAttr) {
65 auto testOp = createIndexOperation();
66
68 llzkPoly_ApplyMapOpSetMap(testOp, createIndexAttribute());
69 }
70
71 mlirOperationDestroy(testOp);
72}
73
74TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetNumDimsAttr) {
75 auto testOp = createIndexOperation();
76
79 }
80
81 mlirOperationDestroy(testOp);
82}
83
84TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_SetNumDimsAttr) {
85 auto testOp = createIndexOperation();
86
88 llzkPoly_ApplyMapOpSetNumDims(testOp, createIndexAttribute());
89 }
90
91 mlirOperationDestroy(testOp);
92}
93
94TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetResult0) {
95 auto testOp = createIndexOperation();
96
99 }
100
101 mlirOperationDestroy(testOp);
102}
103
105TEST_F(PolyOperationLinkTests, llzk_ApplyMapOp_GetAffineMap) {
106 auto testOperation = createIndexOperation();
107
108 if (llzkOperationIsA_Poly_ApplyMapOp(testOperation)) {
109
110 (void)llzkPoly_ApplyMapOpGetAffineMap(testOperation);
111 }
112
113 mlirOperationDestroy(testOperation);
114}
115
117TEST_F(PolyOperationLinkTests, IsA_Poly_ConstReadOp) {
118 auto testOperation = createIndexOperation();
119
120 // This will always return false since `createIndex*` returns an MLIR builtin
121 EXPECT_FALSE(llzkOperationIsA_Poly_ConstReadOp(testOperation));
122
123 mlirOperationDestroy(testOperation);
124}
125
127TEST_F(PolyOperationLinkTests, llzk_ConstReadOp_Build) {
128 // Returns an `arith.constant` op, which will never match the ConstReadOp dialect check.
129 auto testOp = createIndexOperation();
130
131 // This condition is always false, so the function is never actually called.
132 // We only verify it compiles and links correctly.
134 MlirOpBuilder builder = mlirOpBuilderCreate(context);
135 MlirLocation location = mlirLocationUnknownGet(context);
136 auto dummyValue = mlirOperationGetResult(testOp, 0);
137 auto valType = createIndexType();
138 auto const_nameAttr = createIndexAttribute();
139
140 (void)llzkPoly_ConstReadOpBuild(builder, location, valType, const_nameAttr);
141 // No need to destroy builder or op since this code never runs.
142 }
143
144 mlirOperationDestroy(testOp);
145}
146
147struct ConstReadOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
148 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_ConstReadOp(op); }
152 static std::unique_ptr<ConstReadOpBuildFuncHelper> get();
153
154protected:
156};
157
160TEST_F(CAPITest, ConstReadOp_build_pass) { ConstReadOpBuildFuncHelper::get()->run(*this); }
161
162TEST_F(PolyOperationLinkTests, llzk_ConstReadOp_GetConstNameAttr) {
163 auto testOp = createIndexOperation();
164
167 }
168
169 mlirOperationDestroy(testOp);
170}
171
172TEST_F(PolyOperationLinkTests, llzk_ConstReadOp_SetConstNameAttr) {
173 auto testOp = createIndexOperation();
174
176 llzkPoly_ConstReadOpSetConstName(testOp, createIndexAttribute());
177 }
178
179 mlirOperationDestroy(testOp);
180}
181
182TEST_F(PolyOperationLinkTests, llzk_ConstReadOp_GetVal) {
183 auto testOp = createIndexOperation();
184
186 (void)llzkPoly_ConstReadOpGetVal(testOp);
187 }
188
189 mlirOperationDestroy(testOp);
190}
191
193TEST_F(PolyOperationLinkTests, IsA_Poly_TemplateExprOp) {
194 auto testOperation = createIndexOperation();
195
196 // This will always return false since `createIndex*` returns an MLIR builtin
197 EXPECT_FALSE(llzkOperationIsA_Poly_TemplateExprOp(testOperation));
198
199 mlirOperationDestroy(testOperation);
200}
201
203TEST_F(PolyOperationLinkTests, llzk_TemplateExprOp_Build) {
204 // Returns an `arith.constant` op, which will never match the TemplateExprOp dialect check.
205 auto testOp = createIndexOperation();
206
207 // This condition is always false, so the function is never actually called.
208 // We only verify it compiles and links correctly.
210 MlirOpBuilder builder = mlirOpBuilderCreate(context);
211 MlirLocation location = mlirLocationUnknownGet(context);
212 auto dummyValue = mlirOperationGetResult(testOp, 0);
213 auto sym_nameAttr = mlirOperationGetName(testOp);
214
215 (void)llzkPoly_TemplateExprOpBuild(builder, location, sym_nameAttr);
216 // No need to destroy builder or op since this code never runs.
217 }
218
219 mlirOperationDestroy(testOp);
220}
221
222struct TemplateExprOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
223 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_TemplateExprOp(op); }
227 static std::unique_ptr<TemplateExprOpBuildFuncHelper> get();
228
229protected:
231};
232
235TEST_F(CAPITest, TemplateExprOp_build_pass) { TemplateExprOpBuildFuncHelper::get()->run(*this); }
236
237TEST_F(PolyOperationLinkTests, llzk_TemplateExprOp_GetSymNameAttr) {
238 auto testOp = createIndexOperation();
239
242 }
243
244 mlirOperationDestroy(testOp);
245}
246
247TEST_F(PolyOperationLinkTests, llzk_TemplateExprOp_SetSymNameAttr) {
248 auto testOp = createIndexOperation();
249
251 llzkPoly_TemplateExprOpSetSymName(testOp, createIndexAttribute());
252 }
253
254 mlirOperationDestroy(testOp);
255}
256
257TEST_F(PolyOperationLinkTests, llzk_TemplateExprOp_GetInitializerRegionRegion) {
258 auto testOp = createIndexOperation();
259
262 }
263
264 mlirOperationDestroy(testOp);
265}
266
268TEST_F(PolyOperationLinkTests, llzk_TemplateExprOp_GetType) {
269 auto testOperation = createIndexOperation();
270
271 if (llzkOperationIsA_Poly_TemplateExprOp(testOperation)) {
272
273 (void)llzkPoly_TemplateExprOpGetType(testOperation);
274 }
275
276 mlirOperationDestroy(testOperation);
277}
278
280TEST_F(PolyOperationLinkTests, IsA_Poly_TemplateOp) {
281 auto testOperation = createIndexOperation();
282
283 // This will always return false since `createIndex*` returns an MLIR builtin
284 EXPECT_FALSE(llzkOperationIsA_Poly_TemplateOp(testOperation));
285
286 mlirOperationDestroy(testOperation);
287}
288
290TEST_F(PolyOperationLinkTests, llzk_TemplateOp_Build) {
291 // Returns an `arith.constant` op, which will never match the TemplateOp dialect check.
292 auto testOp = createIndexOperation();
293
294 // This condition is always false, so the function is never actually called.
295 // We only verify it compiles and links correctly.
297 MlirOpBuilder builder = mlirOpBuilderCreate(context);
298 MlirLocation location = mlirLocationUnknownGet(context);
299 auto dummyValue = mlirOperationGetResult(testOp, 0);
300 auto sym_nameAttr = mlirOperationGetName(testOp);
301
302 (void)llzkPoly_TemplateOpBuild(builder, location, sym_nameAttr);
303 // No need to destroy builder or op since this code never runs.
304 }
305
306 mlirOperationDestroy(testOp);
307}
308
309struct TemplateOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
310 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_TemplateOp(op); }
314 static std::unique_ptr<TemplateOpBuildFuncHelper> get();
315
316protected:
318};
319
322TEST_F(CAPITest, TemplateOp_build_pass) { TemplateOpBuildFuncHelper::get()->run(*this); }
323
324TEST_F(PolyOperationLinkTests, llzk_TemplateOp_GetSymNameAttr) {
325 auto testOp = createIndexOperation();
326
328 (void)llzkPoly_TemplateOpGetSymName(testOp);
329 }
330
331 mlirOperationDestroy(testOp);
332}
333
334TEST_F(PolyOperationLinkTests, llzk_TemplateOp_SetSymNameAttr) {
335 auto testOp = createIndexOperation();
336
338 llzkPoly_TemplateOpSetSymName(testOp, createIndexAttribute());
339 }
340
341 mlirOperationDestroy(testOp);
342}
343
344TEST_F(PolyOperationLinkTests, llzk_TemplateOp_GetBodyRegionRegion) {
345 auto testOp = createIndexOperation();
346
349 }
350
351 mlirOperationDestroy(testOp);
352}
353
355TEST_F(PolyOperationLinkTests, IsA_Poly_TemplateParamOp) {
356 auto testOperation = createIndexOperation();
357
358 // This will always return false since `createIndex*` returns an MLIR builtin
359 EXPECT_FALSE(llzkOperationIsA_Poly_TemplateParamOp(testOperation));
360
361 mlirOperationDestroy(testOperation);
362}
363
365TEST_F(PolyOperationLinkTests, llzk_TemplateParamOp_Build) {
366 // Returns an `arith.constant` op, which will never match the TemplateParamOp dialect check.
367 auto testOp = createIndexOperation();
368
369 // This condition is always false, so the function is never actually called.
370 // We only verify it compiles and links correctly.
372 MlirOpBuilder builder = mlirOpBuilderCreate(context);
373 MlirLocation location = mlirLocationUnknownGet(context);
374 auto dummyValue = mlirOperationGetResult(testOp, 0);
375 auto sym_nameAttr = mlirOperationGetName(testOp);
376 auto type_optAttr = createIndexAttribute();
377
378 (void)llzkPoly_TemplateParamOpBuild(builder, location, sym_nameAttr, type_optAttr);
379 // No need to destroy builder or op since this code never runs.
380 }
381
382 mlirOperationDestroy(testOp);
383}
384
385struct TemplateParamOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
386 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_TemplateParamOp(op); }
390 static std::unique_ptr<TemplateParamOpBuildFuncHelper> get();
391
392protected:
394};
395
398TEST_F(CAPITest, TemplateParamOp_build_pass) { TemplateParamOpBuildFuncHelper::get()->run(*this); }
399
400TEST_F(PolyOperationLinkTests, llzk_TemplateParamOp_GetSymNameAttr) {
401 auto testOp = createIndexOperation();
402
405 }
406
407 mlirOperationDestroy(testOp);
408}
409
410TEST_F(PolyOperationLinkTests, llzk_TemplateParamOp_SetSymNameAttr) {
411 auto testOp = createIndexOperation();
412
414 llzkPoly_TemplateParamOpSetSymName(testOp, createIndexAttribute());
415 }
416
417 mlirOperationDestroy(testOp);
418}
419
420TEST_F(PolyOperationLinkTests, llzk_TemplateParamOp_GetTypeOptAttr) {
421 auto testOp = createIndexOperation();
422
425 }
426
427 mlirOperationDestroy(testOp);
428}
429
430TEST_F(PolyOperationLinkTests, llzk_TemplateParamOp_SetTypeOptAttr) {
431 auto testOp = createIndexOperation();
432
434 llzkPoly_TemplateParamOpSetTypeOpt(testOp, createIndexAttribute());
435 }
436
437 mlirOperationDestroy(testOp);
438}
439
441TEST_F(PolyOperationLinkTests, IsA_Poly_UnifiableCastOp) {
442 auto testOperation = createIndexOperation();
443
444 // This will always return false since `createIndex*` returns an MLIR builtin
445 EXPECT_FALSE(llzkOperationIsA_Poly_UnifiableCastOp(testOperation));
446
447 mlirOperationDestroy(testOperation);
448}
449
451TEST_F(PolyOperationLinkTests, llzk_UnifiableCastOp_Build) {
452 // Returns an `arith.constant` op, which will never match the UnifiableCastOp dialect check.
453 auto testOp = createIndexOperation();
454
455 // This condition is always false, so the function is never actually called.
456 // We only verify it compiles and links correctly.
458 MlirOpBuilder builder = mlirOpBuilderCreate(context);
459 MlirLocation location = mlirLocationUnknownGet(context);
460 auto dummyValue = mlirOperationGetResult(testOp, 0);
461 auto resultType = createIndexType();
462
463 (void)llzkPoly_UnifiableCastOpBuild(builder, location, resultType, dummyValue);
464 // No need to destroy builder or op since this code never runs.
465 }
466
467 mlirOperationDestroy(testOp);
468}
469
470struct UnifiableCastOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
471 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_UnifiableCastOp(op); }
475 static std::unique_ptr<UnifiableCastOpBuildFuncHelper> get();
476
477protected:
479};
480
483TEST_F(CAPITest, UnifiableCastOp_build_pass) { UnifiableCastOpBuildFuncHelper::get()->run(*this); }
484
485TEST_F(PolyOperationLinkTests, llzk_UnifiableCastOp_GetInput) {
486 auto testOp = createIndexOperation();
487
490 }
491
492 mlirOperationDestroy(testOp);
493}
494
495TEST_F(PolyOperationLinkTests, llzk_UnifiableCastOp_SetInput) {
496 auto testOp = createIndexOperation();
497
499 auto dummyValue = mlirOperationGetResult(testOp, 0);
500 llzkPoly_UnifiableCastOpSetInput(testOp, dummyValue);
501 }
502
503 mlirOperationDestroy(testOp);
504}
505
506TEST_F(PolyOperationLinkTests, llzk_UnifiableCastOp_GetResult) {
507 auto testOp = createIndexOperation();
508
511 }
512
513 mlirOperationDestroy(testOp);
514}
515
517TEST_F(PolyOperationLinkTests, IsA_Poly_YieldOp) {
518 auto testOperation = createIndexOperation();
519
520 // This will always return false since `createIndex*` returns an MLIR builtin
521 EXPECT_FALSE(llzkOperationIsA_Poly_YieldOp(testOperation));
522
523 mlirOperationDestroy(testOperation);
524}
525
527TEST_F(PolyOperationLinkTests, llzk_YieldOp_Build) {
528 // Returns an `arith.constant` op, which will never match the YieldOp dialect check.
529 auto testOp = createIndexOperation();
530
531 // This condition is always false, so the function is never actually called.
532 // We only verify it compiles and links correctly.
533 if (llzkOperationIsA_Poly_YieldOp(testOp)) {
534 MlirOpBuilder builder = mlirOpBuilderCreate(context);
535 MlirLocation location = mlirLocationUnknownGet(context);
536 auto dummyValue = mlirOperationGetResult(testOp, 0);
537
538 (void)llzkPoly_YieldOpBuild(builder, location, dummyValue);
539 // No need to destroy builder or op since this code never runs.
540 }
541
542 mlirOperationDestroy(testOp);
543}
544
545struct YieldOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
546 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Poly_YieldOp(op); }
550 static std::unique_ptr<YieldOpBuildFuncHelper> get();
551
552protected:
554};
555
558TEST_F(CAPITest, YieldOp_build_pass) { YieldOpBuildFuncHelper::get()->run(*this); }
559
560TEST_F(PolyOperationLinkTests, llzk_YieldOp_GetVal) {
561 auto testOp = createIndexOperation();
562
563 if (llzkOperationIsA_Poly_YieldOp(testOp)) {
564 (void)llzkPoly_YieldOpGetVal(testOp);
565 }
566
567 mlirOperationDestroy(testOp);
568}
569
570TEST_F(PolyOperationLinkTests, llzk_YieldOp_SetVal) {
571 auto testOp = createIndexOperation();
572
573 if (llzkOperationIsA_Poly_YieldOp(testOp)) {
574 auto dummyValue = mlirOperationGetResult(testOp, 0);
575 llzkPoly_YieldOpSetVal(testOp, dummyValue);
576 }
577
578 mlirOperationDestroy(testOp);
579}
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:62
void llzkPoly_TemplateExprOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::polymorphic::TemplateExprOp Operation.
void llzkPoly_TemplateParamOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::polymorphic::TemplateParamOp Operation.
MlirRegion llzkPoly_TemplateOpGetBodyRegion(MlirOperation op)
Get BodyRegion region from llzk::polymorphic::TemplateOp Operation.
void llzkPoly_UnifiableCastOpSetInput(MlirOperation op, MlirValue value)
Set Input operand of llzk::polymorphic::UnifiableCastOp Operation.
bool llzkOperationIsA_Poly_TemplateExprOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::TemplateExprOp.
MlirAttribute llzkPoly_ConstReadOpGetConstName(MlirOperation op)
Get ConstName attribute from llzk::polymorphic::ConstReadOp Operation.
MlirValue llzkPoly_UnifiableCastOpGetResult(MlirOperation op)
Get Result result from llzk::polymorphic::UnifiableCastOp Operation.
MlirValue llzkPoly_YieldOpGetVal(MlirOperation op)
Get Val operand from llzk::polymorphic::YieldOp Operation.
void llzkPoly_YieldOpSetVal(MlirOperation op, MlirValue value)
Set Val operand of llzk::polymorphic::YieldOp Operation.
bool llzkOperationIsA_Poly_TemplateParamOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::TemplateParamOp.
MlirValue llzkPoly_UnifiableCastOpGetInput(MlirOperation op)
Get Input operand from llzk::polymorphic::UnifiableCastOp Operation.
MlirOperation llzkPoly_TemplateOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name)
Build a llzk::polymorphic::TemplateOp Operation.
MlirValue llzkPoly_ApplyMapOpGetMapOperandsAt(MlirOperation op, intptr_t index)
Get MapOperands operand at index from llzk::polymorphic::ApplyMapOp Operation.
MlirAttribute llzkPoly_TemplateExprOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::polymorphic::TemplateExprOp Operation.
void llzkPoly_ApplyMapOpSetMapOperands(MlirOperation op, intptr_t count, MlirValue const *values)
Set MapOperands operands of llzk::polymorphic::ApplyMapOp Operation.
MlirAffineMap llzkPoly_ApplyMapOpGetAffineMap(MlirOperation inp)
Returns the affine map to be applied by this operation.
MlirAttribute llzkPoly_TemplateParamOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::polymorphic::TemplateParamOp Operation.
void llzkPoly_ApplyMapOpSetNumDims(MlirOperation op, MlirAttribute attr)
Set NumDims attribute of llzk::polymorphic::ApplyMapOp Operation.
intptr_t llzkPoly_ApplyMapOpGetMapOperandsCount(MlirOperation op)
Get number of MapOperands operands in llzk::polymorphic::ApplyMapOp Operation.
MlirType llzkPoly_TemplateExprOpGetType(MlirOperation inp)
Returns the type of the poly.yield op in the initializer region.
MlirAttribute llzkPoly_ApplyMapOpGetMap(MlirOperation op)
Get Map attribute from llzk::polymorphic::ApplyMapOp Operation.
MlirAttribute llzkPoly_ApplyMapOpGetNumDims(MlirOperation op)
Get NumDims attribute from llzk::polymorphic::ApplyMapOp Operation.
MlirOperation llzkPoly_UnifiableCastOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue input)
Build a llzk::polymorphic::UnifiableCastOp Operation.
void llzkPoly_ConstReadOpSetConstName(MlirOperation op, MlirAttribute attr)
Set ConstName attribute of llzk::polymorphic::ConstReadOp Operation.
MlirAttribute llzkPoly_TemplateOpGetSymName(MlirOperation op)
Get SymName attribute from llzk::polymorphic::TemplateOp Operation.
void llzkPoly_ApplyMapOpSetMap(MlirOperation op, MlirAttribute attr)
Set Map attribute of llzk::polymorphic::ApplyMapOp Operation.
MlirValue llzkPoly_ConstReadOpGetVal(MlirOperation op)
Get Val result from llzk::polymorphic::ConstReadOp Operation.
bool llzkOperationIsA_Poly_ApplyMapOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::ApplyMapOp.
bool llzkOperationIsA_Poly_TemplateOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::TemplateOp.
MlirValue llzkPoly_ApplyMapOpGetResult0(MlirOperation op)
Get Result0 result from llzk::polymorphic::ApplyMapOp Operation.
void llzkPoly_TemplateOpSetSymName(MlirOperation op, MlirAttribute attr)
Set SymName attribute of llzk::polymorphic::TemplateOp Operation.
MlirOperation llzkPoly_ConstReadOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType valType, MlirAttribute const_name)
Build a llzk::polymorphic::ConstReadOp Operation.
MlirOperation llzkPoly_TemplateParamOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name, MlirAttribute type_opt)
Build a llzk::polymorphic::TemplateParamOp Operation.
MlirAttribute llzkPoly_TemplateParamOpGetTypeOpt(MlirOperation op)
Get TypeOpt attribute from llzk::polymorphic::TemplateParamOp Operation.
bool llzkOperationIsA_Poly_YieldOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::YieldOp.
void llzkPoly_TemplateParamOpSetTypeOpt(MlirOperation op, MlirAttribute attr)
Set TypeOpt attribute of llzk::polymorphic::TemplateParamOp Operation.
MlirRegion llzkPoly_TemplateExprOpGetInitializerRegion(MlirOperation op)
Get InitializerRegion region from llzk::polymorphic::TemplateExprOp Operation.
bool llzkOperationIsA_Poly_UnifiableCastOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::UnifiableCastOp.
MlirOperation llzkPoly_YieldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue val)
Build a llzk::polymorphic::YieldOp Operation.
MlirOperation llzkPoly_TemplateExprOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name)
Build a llzk::polymorphic::TemplateExprOp Operation.
bool llzkOperationIsA_Poly_ConstReadOp(MlirOperation inp)
Returns true if the Operation is a llzk::polymorphic::ConstReadOp.
ConstReadOpBuildFuncHelper()=default
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< ConstReadOpBuildFuncHelper > get()
This method must be implemented to return a subclass of ConstReadOpBuildFuncHelper that at least impl...
static std::unique_ptr< TemplateExprOpBuildFuncHelper > get()
This method must be implemented to return a subclass of TemplateExprOpBuildFuncHelper that at least i...
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< TemplateOpBuildFuncHelper > get()
This method must be implemented to return a subclass of TemplateOpBuildFuncHelper that at least imple...
virtual bool callIsA(MlirOperation op) override
TemplateOpBuildFuncHelper()=default
static std::unique_ptr< TemplateParamOpBuildFuncHelper > get()
This method must be implemented to return a subclass of TemplateParamOpBuildFuncHelper that at least ...
virtual bool callIsA(MlirOperation op) override
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< UnifiableCastOpBuildFuncHelper > get()
This method must be implemented to return a subclass of UnifiableCastOpBuildFuncHelper that at least ...
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...