LLZK 2.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.capi.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op C API Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10
11bool llzkOperationIsA_Pod_NewPodOp(MlirOperation inp) {
12 return llvm::isa<NewPodOp>(unwrap(inp));
13}
14
15intptr_t llzkPod_NewPodOpGetInitialValuesCount(MlirOperation op) {
16 intptr_t count = mlirOperationGetNumOperands(op);
17 assert(count >= 0 && "operand count less than start index");
18 return count - 0;
19}
20
21MlirValue llzkPod_NewPodOpGetInitialValuesAt(MlirOperation op, intptr_t index) {
22 return mlirOperationGetOperand(op, 0 + index);
23}
24
25void llzkPod_NewPodOpSetInitialValues(MlirOperation op, intptr_t count, MlirValue const *values) {
26 intptr_t numOperands = mlirOperationGetNumOperands(op);
27 intptr_t startIdx = 0;
28
29 // Validate bounds
30 if (startIdx < 0 || startIdx > numOperands) {
31 return;
32 }
33 if (count < 0 || count > (std::numeric_limits<intptr_t>::max() - startIdx)) {
34 return;
35 }
36
37 intptr_t oldCount = numOperands - startIdx;
38 intptr_t newNumOperands = startIdx + count;
39
40 std::vector<MlirValue> newOperands(newNumOperands);
41
42 // Copy operands before this variadic group
43 for (intptr_t i = 0; i < startIdx; ++i) {
44 newOperands[i] = mlirOperationGetOperand(op, i);
45 }
46
47 // Copy new variadic operands
48 for (intptr_t i = 0; i < count; ++i) {
49 newOperands[startIdx + i] = values[i];
50 }
51
52 // Copy operands after this variadic group
53 for (intptr_t i = startIdx + oldCount; i < numOperands; ++i) {
54 newOperands[i - oldCount + count] = mlirOperationGetOperand(op, i);
55 }
56
57 mlirOperationSetOperands(op, newNumOperands, newOperands.data());
58}
59
60intptr_t llzkPod_NewPodOpGetMapOperandsCount(MlirOperation op) {
61 intptr_t count = mlirOperationGetNumOperands(op);
62 assert(count >= 1 && "operand count less than start index");
63 return count - 1;
64}
65
66MlirValue llzkPod_NewPodOpGetMapOperandsAt(MlirOperation op, intptr_t index) {
67 return mlirOperationGetOperand(op, 1 + index);
68}
69
70void llzkPod_NewPodOpSetMapOperands(MlirOperation op, intptr_t count, MlirValue const *values) {
71 intptr_t numOperands = mlirOperationGetNumOperands(op);
72 intptr_t startIdx = 1;
73
74 // Validate bounds
75 if (startIdx < 0 || startIdx > numOperands) {
76 return;
77 }
78 if (count < 0 || count > (std::numeric_limits<intptr_t>::max() - startIdx)) {
79 return;
80 }
81
82 intptr_t oldCount = numOperands - startIdx;
83 intptr_t newNumOperands = startIdx + count;
84
85 std::vector<MlirValue> newOperands(newNumOperands);
86
87 // Copy operands before this variadic group
88 for (intptr_t i = 0; i < startIdx; ++i) {
89 newOperands[i] = mlirOperationGetOperand(op, i);
90 }
91
92 // Copy new variadic operands
93 for (intptr_t i = 0; i < count; ++i) {
94 newOperands[startIdx + i] = values[i];
95 }
96
97 // Copy operands after this variadic group
98 for (intptr_t i = startIdx + oldCount; i < numOperands; ++i) {
99 newOperands[i - oldCount + count] = mlirOperationGetOperand(op, i);
100 }
101
102 mlirOperationSetOperands(op, newNumOperands, newOperands.data());
103}
104
105MlirAttribute llzkPod_NewPodOpGetInitializedRecords(MlirOperation op) {
106 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("initializedRecords"));
107}
108
109void llzkPod_NewPodOpSetInitializedRecords(MlirOperation op, MlirAttribute attr) {
110 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("initializedRecords"), attr);
111}
112
113MlirAttribute llzkPod_NewPodOpGetNumDimsPerMap(MlirOperation op) {
114 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("numDimsPerMap"));
115}
116
117void llzkPod_NewPodOpSetNumDimsPerMap(MlirOperation op, MlirAttribute attr) {
118 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("numDimsPerMap"), attr);
119}
120
121MlirAttribute llzkPod_NewPodOpGetMapOpGroupSizes(MlirOperation op) {
122 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("mapOpGroupSizes"));
123}
124
125void llzkPod_NewPodOpSetMapOpGroupSizes(MlirOperation op, MlirAttribute attr) {
126 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("mapOpGroupSizes"), attr);
127}
128
129MlirValue llzkPod_NewPodOpGetResult(MlirOperation op) {
130 return mlirOperationGetResult(op, 0);
131}
132
133MlirOperation llzkPod_ReadPodOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue pod_ref, MlirAttribute record_name) {
134 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("pod.read"), location);
135 mlirOperationStateAddResults(&state, 1, &resultType);
136 mlirOperationStateAddOperands(&state, 1, &pod_ref);
137 MlirContext ctx = mlirOpBuilderGetContext(builder);
138 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
139 if (!mlirAttributeIsNull(record_name)) {
140 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("record_name")), record_name));
141 }
142 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
143
144 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
145}
146
147bool llzkOperationIsA_Pod_ReadPodOp(MlirOperation inp) {
148 return llvm::isa<ReadPodOp>(unwrap(inp));
149}
150
151MlirValue llzkPod_ReadPodOpGetPodRef(MlirOperation op) {
152 return mlirOperationGetOperand(op, 0);
153}
154
155void llzkPod_ReadPodOpSetPodRef(MlirOperation op, MlirValue value) {
156 mlirOperationSetOperand(op, 0, value);
157}
158
159MlirAttribute llzkPod_ReadPodOpGetRecordName(MlirOperation op) {
160 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("record_name"));
161}
162
163void llzkPod_ReadPodOpSetRecordName(MlirOperation op, MlirAttribute attr) {
164 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("record_name"), attr);
165}
166
167MlirValue llzkPod_ReadPodOpGetResult(MlirOperation op) {
168 return mlirOperationGetResult(op, 0);
169}
170
171MlirOperation llzkPod_WritePodOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue pod_ref, MlirValue value, MlirAttribute record_name) {
172 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("pod.write"), location);
173 mlirOperationStateAddOperands(&state, 1, &pod_ref);
174 mlirOperationStateAddOperands(&state, 1, &value);
175 MlirContext ctx = mlirOpBuilderGetContext(builder);
176 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
177 if (!mlirAttributeIsNull(record_name)) {
178 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("record_name")), record_name));
179 }
180 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
181
182 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
183}
184
185bool llzkOperationIsA_Pod_WritePodOp(MlirOperation inp) {
186 return llvm::isa<WritePodOp>(unwrap(inp));
187}
188
189MlirValue llzkPod_WritePodOpGetPodRef(MlirOperation op) {
190 return mlirOperationGetOperand(op, 0);
191}
192
193void llzkPod_WritePodOpSetPodRef(MlirOperation op, MlirValue value) {
194 mlirOperationSetOperand(op, 0, value);
195}
196
197MlirValue llzkPod_WritePodOpGetValue(MlirOperation op) {
198 return mlirOperationGetOperand(op, 1);
199}
200
201void llzkPod_WritePodOpSetValue(MlirOperation op, MlirValue value) {
202 mlirOperationSetOperand(op, 1, value);
203}
204
205MlirAttribute llzkPod_WritePodOpGetRecordName(MlirOperation op) {
206 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("record_name"));
207}
208
209void llzkPod_WritePodOpSetRecordName(MlirOperation op, MlirAttribute attr) {
210 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("record_name"), attr);
211}
MlirContext mlirOpBuilderGetContext(MlirOpBuilder builder)
Returns the MLIR context associated with builder.
Definition Builder.cpp:79
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.
Definition Builder.cpp:108
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.