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 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_Variadic) {
75 auto testOp = createIndexOperation();
76
78 auto dummyValue = mlirOperationGetResult(testOp, 0);
79 MlirValue values[] = {dummyValue};
80 llzkPod_NewPodOpSetMapOperands(testOp, 1, values);
81 }
82
83 mlirOperationDestroy(testOp);
84}
85
86TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetInitializedRecordsAttr) {
87 auto testOp = createIndexOperation();
88
91 }
92
93 mlirOperationDestroy(testOp);
94}
95
96TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetInitializedRecordsAttr) {
97 auto testOp = createIndexOperation();
98
100 llzkPod_NewPodOpSetInitializedRecords(testOp, createIndexAttribute());
101 }
102
103 mlirOperationDestroy(testOp);
104}
105
106TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetNumDimsPerMapAttr) {
107 auto testOp = createIndexOperation();
108
109 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
111 }
112
113 mlirOperationDestroy(testOp);
114}
115
116TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetNumDimsPerMapAttr) {
117 auto testOp = createIndexOperation();
118
119 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
120 llzkPod_NewPodOpSetNumDimsPerMap(testOp, createIndexAttribute());
121 }
122
123 mlirOperationDestroy(testOp);
124}
125
126TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetMapOpGroupSizesAttr) {
127 auto testOp = createIndexOperation();
128
129 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
131 }
132
133 mlirOperationDestroy(testOp);
134}
135
136TEST_F(PodOperationLinkTests, llzk_NewPodOp_SetMapOpGroupSizesAttr) {
137 auto testOp = createIndexOperation();
138
139 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
140 llzkPod_NewPodOpSetMapOpGroupSizes(testOp, createIndexAttribute());
141 }
142
143 mlirOperationDestroy(testOp);
144}
145
146TEST_F(PodOperationLinkTests, llzk_NewPodOp_GetResult) {
147 auto testOp = createIndexOperation();
148
149 if (llzkOperationIsA_Pod_NewPodOp(testOp)) {
150 (void)llzkPod_NewPodOpGetResult(testOp);
151 }
152
153 mlirOperationDestroy(testOp);
154}
155
157TEST_F(PodOperationLinkTests, IsA_Pod_ReadPodOp) {
158 auto testOperation = createIndexOperation();
159
160 // This will always return false since `createIndex*` returns an MLIR builtin
161 EXPECT_FALSE(llzkOperationIsA_Pod_ReadPodOp(testOperation));
162
163 mlirOperationDestroy(testOperation);
164}
165
167TEST_F(PodOperationLinkTests, llzk_ReadPodOp_Build) {
168 // Returns an `arith.constant` op, which will never match the ReadPodOp dialect check.
169 auto testOp = createIndexOperation();
170
171 // This condition is always false, so the function is never actually called.
172 // We only verify it compiles and links correctly.
173 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
174 MlirOpBuilder builder = mlirOpBuilderCreate(context);
175 MlirLocation location = mlirLocationUnknownGet(context);
176 auto dummyValue = mlirOperationGetResult(testOp, 0);
177 auto resultType = createIndexType();
178 auto record_nameAttr = createIndexAttribute();
179
180 (void)llzkPod_ReadPodOpBuild(builder, location, resultType, dummyValue, record_nameAttr);
181 // No need to destroy builder or op since this code never runs.
182 }
183
184 mlirOperationDestroy(testOp);
185}
186
187struct ReadPodOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
188 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Pod_ReadPodOp(op); }
192 static std::unique_ptr<ReadPodOpBuildFuncHelper> get();
193
194protected:
196};
197
200TEST_F(CAPITest, ReadPodOp_build_pass) { ReadPodOpBuildFuncHelper::get()->run(*this); }
201
202TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetPodRef) {
203 auto testOp = createIndexOperation();
204
205 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
206 (void)llzkPod_ReadPodOpGetPodRef(testOp);
207 }
208
209 mlirOperationDestroy(testOp);
210}
211
212TEST_F(PodOperationLinkTests, llzk_ReadPodOp_SetPodRef) {
213 auto testOp = createIndexOperation();
214
215 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
216 auto dummyValue = mlirOperationGetResult(testOp, 0);
217 llzkPod_ReadPodOpSetPodRef(testOp, dummyValue);
218 }
219
220 mlirOperationDestroy(testOp);
221}
222
223TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetRecordNameAttr) {
224 auto testOp = createIndexOperation();
225
226 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
227 (void)llzkPod_ReadPodOpGetRecordName(testOp);
228 }
229
230 mlirOperationDestroy(testOp);
231}
232
233TEST_F(PodOperationLinkTests, llzk_ReadPodOp_SetRecordNameAttr) {
234 auto testOp = createIndexOperation();
235
236 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
237 llzkPod_ReadPodOpSetRecordName(testOp, createIndexAttribute());
238 }
239
240 mlirOperationDestroy(testOp);
241}
242
243TEST_F(PodOperationLinkTests, llzk_ReadPodOp_GetResult) {
244 auto testOp = createIndexOperation();
245
246 if (llzkOperationIsA_Pod_ReadPodOp(testOp)) {
247 (void)llzkPod_ReadPodOpGetResult(testOp);
248 }
249
250 mlirOperationDestroy(testOp);
251}
252
254TEST_F(PodOperationLinkTests, IsA_Pod_WritePodOp) {
255 auto testOperation = createIndexOperation();
256
257 // This will always return false since `createIndex*` returns an MLIR builtin
258 EXPECT_FALSE(llzkOperationIsA_Pod_WritePodOp(testOperation));
259
260 mlirOperationDestroy(testOperation);
261}
262
264TEST_F(PodOperationLinkTests, llzk_WritePodOp_Build) {
265 // Returns an `arith.constant` op, which will never match the WritePodOp dialect check.
266 auto testOp = createIndexOperation();
267
268 // This condition is always false, so the function is never actually called.
269 // We only verify it compiles and links correctly.
271 MlirOpBuilder builder = mlirOpBuilderCreate(context);
272 MlirLocation location = mlirLocationUnknownGet(context);
273 auto dummyValue = mlirOperationGetResult(testOp, 0);
274 auto record_nameAttr = createIndexAttribute();
275
276 (void)llzkPod_WritePodOpBuild(builder, location, dummyValue, dummyValue, record_nameAttr);
277 // No need to destroy builder or op since this code never runs.
278 }
279
280 mlirOperationDestroy(testOp);
281}
282
283struct WritePodOpBuildFuncHelper : public TestAnyBuildFuncHelper<CAPITest> {
284 virtual bool callIsA(MlirOperation op) override { return llzkOperationIsA_Pod_WritePodOp(op); }
288 static std::unique_ptr<WritePodOpBuildFuncHelper> get();
289
290protected:
292};
293
296TEST_F(CAPITest, WritePodOp_build_pass) { WritePodOpBuildFuncHelper::get()->run(*this); }
297
298TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetPodRef) {
299 auto testOp = createIndexOperation();
300
302 (void)llzkPod_WritePodOpGetPodRef(testOp);
303 }
304
305 mlirOperationDestroy(testOp);
306}
307
308TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetPodRef) {
309 auto testOp = createIndexOperation();
310
312 auto dummyValue = mlirOperationGetResult(testOp, 0);
313 llzkPod_WritePodOpSetPodRef(testOp, dummyValue);
314 }
315
316 mlirOperationDestroy(testOp);
317}
318
319TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetValue) {
320 auto testOp = createIndexOperation();
321
323 (void)llzkPod_WritePodOpGetValue(testOp);
324 }
325
326 mlirOperationDestroy(testOp);
327}
328
329TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetValue) {
330 auto testOp = createIndexOperation();
331
333 auto dummyValue = mlirOperationGetResult(testOp, 0);
334 llzkPod_WritePodOpSetValue(testOp, dummyValue);
335 }
336
337 mlirOperationDestroy(testOp);
338}
339
340TEST_F(PodOperationLinkTests, llzk_WritePodOp_GetRecordNameAttr) {
341 auto testOp = createIndexOperation();
342
345 }
346
347 mlirOperationDestroy(testOp);
348}
349
350TEST_F(PodOperationLinkTests, llzk_WritePodOp_SetRecordNameAttr) {
351 auto testOp = createIndexOperation();
352
354 llzkPod_WritePodOpSetRecordName(testOp, createIndexAttribute());
355 }
356
357 mlirOperationDestroy(testOp);
358}
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 llzkPod_WritePodOpSetRecordName(MlirOperation op, MlirAttribute attr)
Set RecordName attribute of llzk::pod::WritePodOp Operation.
void llzkPod_NewPodOpSetMapOperands(MlirOperation op, intptr_t count, MlirValue const *values)
Set MapOperands operands of llzk::pod::NewPodOp 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.
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.
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.
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