LLZK 2.1.1
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 PodOperationLinkTests : public CAPITest {};
11
13TEST_F(PodOperationLinkTests, IsA_Pod_NewPodOp) {
14 auto testOperation = createIndexOperation();
15
16 // This will always return false since `createIndex*` returns an MLIR builtin
17 EXPECT_FALSE(llzkOperationIsA_Pod_NewPodOp(testOperation));
18
19 mlirOperationDestroy(testOperation);
20}
21
22TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetInitialValuesCount) {
23 auto testOp = createIndexOperation();
24
27 }
28
29 mlirOperationDestroy(testOp);
30}
31
32TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetInitialValuesAt) {
33 auto testOp = createIndexOperation();
34
37 }
38
39 mlirOperationDestroy(testOp);
40}
41
42TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetInitialValues_Variadic) {
43 auto testOp = createIndexOperation();
44
46 auto dummyValue = mlirOperationGetResult(testOp, 0);
47 MlirValue values[] = {dummyValue};
48 llzkPod_NewPodOpSetInitialValues(testOp, 1, values);
49 }
50
51 mlirOperationDestroy(testOp);
52}
53
54TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetMapOperandsCount) {
55 auto testOp = createIndexOperation();
56
59 }
60
61 mlirOperationDestroy(testOp);
62}
63
64TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetMapOperandsAt) {
65 auto testOp = createIndexOperation();
66
68 (void)llzkPod_NewPodOpGetMapOperandsAt(testOp, 0);
69 }
70
71 mlirOperationDestroy(testOp);
72}
73
74TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetMapOperands_VariadicOfVariadic) {
75 auto testOp = createIndexOperation();
76
78 auto dummyValue = mlirOperationGetResult(testOp, 0);
79 MlirValueRange groups[1];
80 groups[0].values = &dummyValue;
81 groups[0].size = 1;
82 llzkPod_NewPodOpSetMapOperands(testOp, 1, groups);
83 }
84
85 mlirOperationDestroy(testOp);
86}
87
88TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetInitializedRecordsAttr) {
89 auto testOp = createIndexOperation();
90
93 }
94
95 mlirOperationDestroy(testOp);
96}
97
98TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetInitializedRecordsAttr) {
99 auto testOp = createIndexOperation();
100
101 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
102 llzkPod_NewPodOpSetInitializedRecords(testOp, createIndexAttribute());
103 }
104
105 mlirOperationDestroy(testOp);
106}
107
108TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetNumDimsPerMapAttr) {
109 auto testOp = createIndexOperation();
110
111 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
113 }
114
115 mlirOperationDestroy(testOp);
116}
117
118TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetNumDimsPerMapAttr) {
119 auto testOp = createIndexOperation();
120
121 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
122 llzkPod_NewPodOpSetNumDimsPerMap(testOp, createIndexAttribute());
123 }
124
125 mlirOperationDestroy(testOp);
126}
127
128TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetMapOpGroupSizesAttr) {
129 auto testOp = createIndexOperation();
130
131 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
133 }
134
135 mlirOperationDestroy(testOp);
136}
137
138TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetMapOpGroupSizesAttr) {
139 auto testOp = createIndexOperation();
140
141 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
142 llzkPod_NewPodOpSetMapOpGroupSizes(testOp, createIndexAttribute());
143 }
144
145 mlirOperationDestroy(testOp);
146}
147
148TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetResult) {
149 auto testOp = createIndexOperation();
150
151 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
152 (void)llzkPod_NewPodOpGetResult(testOp);
153 }
154
155 mlirOperationDestroy(testOp);
156}
157
159TEST_F(PodOperationLinkTests, IsA_Pod_ReadPodOp) {
160 auto testOperation = createIndexOperation();
161
162 // This will always return false since `createIndex*` returns an MLIR builtin
163 EXPECT_FALSE(llzkOperationIsA_Pod_ReadPodOp(testOperation));
164
165 mlirOperationDestroy(testOperation);
166}
167
169TEST_F(PodOperationLinkTests, llzk_ReadPodOp_Build) {
170 // Returns an `arith.constant` op, which will never match the ReadPodOp dialect check.
171 auto testOp = createIndexOperation();
172
173 // This condition is always false, so the function is never actually called.
174 // We only verify it compiles and links correctly.
175 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
176 MlirOpBuilder builder = mlirOpBuilderCreate(context);
177 MlirLocation location = mlirLocationUnknownGet(context);
178 auto dummyValue = mlirOperationGetResult(testOp, 0);
179 auto resultType = createIndexType();
180 auto record_nameAttr = createIndexAttribute();
181
182 (void)llzkPod_ReadPodOpBuild(builder, location, resultType, dummyValue, record_nameAttr);
183 // No need to destroy builder or op since this code never runs.
184 }
185
186 mlirOperationDestroy(testOp);
187}
188
189struct ReadPodOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
190 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Pod_ReadPodOp(op); }
194 static std::unique_ptr<ReadPodOpBuildFuncHelper> get();
195
196protected:
198};
199
202TEST_F(CAPITest, ReadPodOp_build_pass) { ReadPodOpBuildFuncHelper::get()->run(*this); }
203
204TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetPodRef) {
205 auto testOp = createIndexOperation();
206
207 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
208 (void)llzkPod_ReadPodOpGetPodRef(testOp);
209 }
210
211 mlirOperationDestroy(testOp);
212}
213
214TEST_F(PodOperationLinkTests, llzk_ReadPodOp_SetPodRef) {
215 auto testOp = createIndexOperation();
216
217 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
218 auto dummyValue = mlirOperationGetResult(testOp, 0);
219 llzkPod_ReadPodOpSetPodRef(testOp, dummyValue);
220 }
221
222 mlirOperationDestroy(testOp);
223}
224
225TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetRecordNameAttr) {
226 auto testOp = createIndexOperation();
227
228 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
229 (void)llzkPod_ReadPodOpGetRecordName(testOp);
230 }
231
232 mlirOperationDestroy(testOp);
233}
234
235TEST_F(PodOperationLinkTests, llzk_ReadPodOp_SetRecordNameAttr) {
236 auto testOp = createIndexOperation();
237
238 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
239 llzkPod_ReadPodOpSetRecordName(testOp, createIndexAttribute());
240 }
241
242 mlirOperationDestroy(testOp);
243}
244
245TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetResult) {
246 auto testOp = createIndexOperation();
247
248 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
249 (void)llzkPod_ReadPodOpGetResult(testOp);
250 }
251
252 mlirOperationDestroy(testOp);
253}
254
256TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetPodRefType) {
257 auto testOperation = createIndexOperation();
258
259 if (llzkOperationIsA_Pod_ReadPodOp(testOperation)) {
260
261 (void)llzkPod_ReadPodOpGetPodRefType(testOperation);
262 }
263
264 mlirOperationDestroy(testOperation);
265}
266
268TEST_F(PodOperationLinkTests, IsA_Pod_WritePodOp) {
269 auto testOperation = createIndexOperation();
270
271 // This will always return false since `createIndex*` returns an MLIR builtin
272 EXPECT_FALSE(llzkOperationIsA_Pod_WritePodOp(testOperation));
273
274 mlirOperationDestroy(testOperation);
275}
276
278TEST_F(PodOperationLinkTests, llzk_WritePodOp_Build) {
279 // Returns an `arith.constant` op, which will never match the WritePodOp dialect check.
280 auto testOp = createIndexOperation();
281
282 // This condition is always false, so the function is never actually called.
283 // We only verify it compiles and links correctly.
285 MlirOpBuilder builder = mlirOpBuilderCreate(context);
286 MlirLocation location = mlirLocationUnknownGet(context);
287 auto dummyValue = mlirOperationGetResult(testOp, 0);
288 auto record_nameAttr = createIndexAttribute();
289
290 (void)llzkPod_WritePodOpBuild(builder, location, dummyValue, dummyValue, record_nameAttr);
291 // No need to destroy builder or op since this code never runs.
292 }
293
294 mlirOperationDestroy(testOp);
295}
296
297struct WritePodOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
298 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Pod_WritePodOp(op); }
302 static std::unique_ptr<WritePodOpBuildFuncHelper> get();
303
304protected:
306};
307
310TEST_F(CAPITest, WritePodOp_build_pass) { WritePodOpBuildFuncHelper::get()->run(*this); }
311
312TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetPodRef) {
313 auto testOp = createIndexOperation();
314
316 (void)llzkPod_WritePodOpGetPodRef(testOp);
317 }
318
319 mlirOperationDestroy(testOp);
320}
321
322TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetPodRef) {
323 auto testOp = createIndexOperation();
324
326 auto dummyValue = mlirOperationGetResult(testOp, 0);
327 llzkPod_WritePodOpSetPodRef(testOp, dummyValue);
328 }
329
330 mlirOperationDestroy(testOp);
331}
332
333TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetValue) {
334 auto testOp = createIndexOperation();
335
337 (void)llzkPod_WritePodOpGetValue(testOp);
338 }
339
340 mlirOperationDestroy(testOp);
341}
342
343TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetValue) {
344 auto testOp = createIndexOperation();
345
347 auto dummyValue = mlirOperationGetResult(testOp, 0);
348 llzkPod_WritePodOpSetValue(testOp, dummyValue);
349 }
350
351 mlirOperationDestroy(testOp);
352}
353
354TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetRecordNameAttr) {
355 auto testOp = createIndexOperation();
356
359 }
360
361 mlirOperationDestroy(testOp);
362}
363
364TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetRecordNameAttr) {
365 auto testOp = createIndexOperation();
366
368 llzkPod_WritePodOpSetRecordName(testOp, createIndexAttribute());
369 }
370
371 mlirOperationDestroy(testOp);
372}
373
375TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetPodRefType) {
376 auto testOperation = createIndexOperation();
377
378 if (llzkOperationIsA_Pod_WritePodOp(testOperation)) {
379
380 (void)llzkPod_WritePodOpGetPodRefType(testOperation);
381 }
382
383 mlirOperationDestroy(testOperation);
384}
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
void llzkPod_WritePodOpSetRecordName(MlirOperation op, MlirAttribute attr)
Set RecordName attribute of llzk::pod::WritePodOp Operation.
MlirValue llzkPod_ReadPodOpGetResult(MlirOperation op)
Get Result result from llzk::pod::ReadPodOp Operation.
void llzkPod_NewPodOpSetMapOpGroupSizes(MlirOperation op, MlirAttribute attr)
Set MapOpGroupSizes attribute of llzk::pod::NewPodOp Operation.
void llzkPod_NewPodOpSetInitialValues(MlirOperation op, intptr_t count, MlirValue const *values)
Set InitialValues operands of llzk::pod::NewPodOp Operation.
bool llzkOperationIsA_Pod_ReadPodOp(MlirOperation inp)
Returns true if the Operation is a llzk::pod::ReadPodOp.
void llzkPod_ReadPodOpSetPodRef(MlirOperation op, MlirValue value)
Set PodRef operand of llzk::pod::ReadPodOp Operation.
MlirOperation llzkPod_ReadPodOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue pod_ref, MlirAttribute record_name)
Build a llzk::pod::ReadPodOp Operation.
MlirValue llzkPod_WritePodOpGetPodRef(MlirOperation op)
Get PodRef operand from llzk::pod::WritePodOp Operation.
MlirAttribute llzkPod_WritePodOpGetRecordName(MlirOperation op)
Get RecordName attribute from llzk::pod::WritePodOp Operation.
MlirType llzkPod_WritePodOpGetPodRefType(MlirOperation inp)
Gets the type of the referenced pod.
void llzkPod_NewPodOpSetMapOperands(MlirOperation op, intptr_t groupCount, MlirValueRange const *groups)
Set MapOperands operand groups of llzk::pod::NewPodOp Operation.
MlirAttribute llzkPod_ReadPodOpGetRecordName(MlirOperation op)
Get RecordName attribute from llzk::pod::ReadPodOp Operation.
intptr_t llzkPod_NewPodOpGetMapOperandsCount(MlirOperation op)
Get number of MapOperands operands in llzk::pod::NewPodOp Operation.
void llzkPod_WritePodOpSetValue(MlirOperation op, MlirValue value)
Set Value operand of llzk::pod::WritePodOp Operation.
MlirAttribute llzkPod_NewPodOpGetMapOpGroupSizes(MlirOperation op)
Get MapOpGroupSizes attribute from llzk::pod::NewPodOp Operation.
void llzkPod_WritePodOpSetPodRef(MlirOperation op, MlirValue value)
Set PodRef operand of llzk::pod::WritePodOp Operation.
MlirValue llzkPod_ReadPodOpGetPodRef(MlirOperation op)
Get PodRef operand from llzk::pod::ReadPodOp Operation.
MlirValue llzkPod_NewPodOpGetResult(MlirOperation op)
Get Result result from llzk::pod::NewPodOp Operation.
bool llzkOperationIsA_Pod_NewPodOp(MlirOperation inp)
Returns true if the Operation is a llzk::pod::NewPodOp.
MlirOperation llzkPod_WritePodOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue pod_ref, MlirValue value, MlirAttribute record_name)
Build a llzk::pod::WritePodOp Operation.
void llzkPod_NewPodOpSetNumDimsPerMap(MlirOperation op, MlirAttribute attr)
Set NumDimsPerMap attribute of llzk::pod::NewPodOp Operation.
void llzkPod_ReadPodOpSetRecordName(MlirOperation op, MlirAttribute attr)
Set RecordName attribute of llzk::pod::ReadPodOp Operation.
MlirType llzkPod_ReadPodOpGetPodRefType(MlirOperation inp)
Gets the type of the referenced pod.
MlirAttribute llzkPod_NewPodOpGetInitializedRecords(MlirOperation op)
Get InitializedRecords attribute from llzk::pod::NewPodOp Operation.
MlirValue llzkPod_WritePodOpGetValue(MlirOperation op)
Get Value operand from llzk::pod::WritePodOp Operation.
MlirAttribute llzkPod_NewPodOpGetNumDimsPerMap(MlirOperation op)
Get NumDimsPerMap attribute from llzk::pod::NewPodOp Operation.
intptr_t llzkPod_NewPodOpGetInitialValuesCount(MlirOperation op)
Get number of InitialValues operands in llzk::pod::NewPodOp Operation.
bool llzkOperationIsA_Pod_WritePodOp(MlirOperation inp)
Returns true if the Operation is a llzk::pod::WritePodOp.
void llzkPod_NewPodOpSetInitializedRecords(MlirOperation op, MlirAttribute attr)
Set InitializedRecords attribute of llzk::pod::NewPodOp Operation.
MlirValue llzkPod_NewPodOpGetInitialValuesAt(MlirOperation op, intptr_t index)
Get InitialValues operand at index from llzk::pod::NewPodOp Operation.
MlirValue llzkPod_NewPodOpGetMapOperandsAt(MlirOperation op, intptr_t index)
Get MapOperands operand at index from llzk::pod::NewPodOp Operation.
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
virtual bool callIsA(MlirOperation op) override
static std::unique_ptr< ReadPodOpBuildFuncHelper > get()
This method must be implemented to return a subclass of ReadPodOpBuildFuncHelper that at least implem...
ReadPodOpBuildFuncHelper()=default
WritePodOpBuildFuncHelper()=default
static std::unique_ptr< WritePodOpBuildFuncHelper > get()
This method must be implemented to return a subclass of WritePodOpBuildFuncHelper that at least imple...
virtual bool callIsA(MlirOperation op) override