LLZK 2.1.1
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
11#include <limits>
12
13using namespace mlir;
14using namespace llvm;
15
16bool llzkOperationIsA_Poly_ApplyMapOp(MlirOperation inp) {
17 return llvm::isa<ApplyMapOp>(unwrap(inp));
18}
19
20intptr_t llzkPoly_ApplyMapOpGetMapOperandsCount(MlirOperation op) {
21 auto range = llvm::cast<ApplyMapOp>(unwrap(op)).getODSOperandIndexAndLength(0);
22 return range.second;
23}
24
25MlirValue llzkPoly_ApplyMapOpGetMapOperandsAt(MlirOperation op, intptr_t index) {
26 auto range = llvm::cast<ApplyMapOp>(unwrap(op)).getODSOperandIndexAndLength(0);
27 assert(index >= 0 && index < range.second && "variadic operand index out of range");
28 assert(
29 static_cast<uintptr_t>(range.first) <= static_cast<uintptr_t>(std::numeric_limits<intptr_t>::max()) &&
30 "operand index exceeds intptr_t range"
31 );
32 return mlirOperationGetOperand(op, static_cast<intptr_t>(range.first) + index);
33}
34
35void llzkPoly_ApplyMapOpSetMapOperands(MlirOperation op, intptr_t count, MlirValue const *values) {
36 if (count < 0)
37 return;
38 ::llvm::SmallVector<::mlir::Value> vals;
39 vals.reserve(static_cast<size_t>(count));
40 for (intptr_t i = 0; i < count; ++i)
41 vals.push_back(unwrap(values[i]));
42 ::llvm::cast<ApplyMapOp>(unwrap(op)).getMapOperandsMutable().assign(vals);
43}
44
45MlirAttribute llzkPoly_ApplyMapOpGetMap(MlirOperation op) {
46 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("map"));
47}
48
49void llzkPoly_ApplyMapOpSetMap(MlirOperation op, MlirAttribute attr) {
50 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("map"), attr);
51}
52
53MlirAttribute llzkPoly_ApplyMapOpGetNumDims(MlirOperation op) {
54 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("numDims"));
55}
56
57void llzkPoly_ApplyMapOpSetNumDims(MlirOperation op, MlirAttribute attr) {
58 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("numDims"), attr);
59}
60
61MlirValue llzkPoly_ApplyMapOpGetResult0(MlirOperation op) {
62 return mlirOperationGetResult(op, 0);
63}
64
65MlirAffineMap llzkPoly_ApplyMapOpGetAffineMap(MlirOperation inp) {
66 return wrap(llvm::cast<ApplyMapOp>(unwrap(inp)).getAffineMap());
67}
68
69MlirOperation llzkPoly_ConstReadOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType valType, MlirAttribute const_name) {
70 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.read_const"), location);
71 mlirOperationStateAddResults(&state, 1, &valType);
72 MlirContext ctx = mlirOpBuilderGetContext(builder);
73 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
74 if (!mlirAttributeIsNull(const_name)) {
75 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("const_name")), const_name));
76 }
77 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
78
79 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
80}
81
82bool llzkOperationIsA_Poly_ConstReadOp(MlirOperation inp) {
83 return llvm::isa<ConstReadOp>(unwrap(inp));
84}
85
86MlirAttribute llzkPoly_ConstReadOpGetConstName(MlirOperation op) {
87 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("const_name"));
88}
89
90void llzkPoly_ConstReadOpSetConstName(MlirOperation op, MlirAttribute attr) {
91 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("const_name"), attr);
92}
93
94MlirValue llzkPoly_ConstReadOpGetVal(MlirOperation op) {
95 return mlirOperationGetResult(op, 0);
96}
97
98MlirOperation llzkPoly_TemplateExprOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name) {
99 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.expr"), location);
100 MlirContext ctx = mlirOpBuilderGetContext(builder);
101 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
102 if (!mlirAttributeIsNull(reinterpret_cast<MlirAttribute&>(sym_name))) {
103 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("sym_name")), reinterpret_cast<MlirAttribute&>(sym_name)));
104 }
105 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
106 llvm::SmallVector<MlirRegion, 1> regions;
107 regions.push_back(mlirRegionCreate());
108 mlirOperationStateAddOwnedRegions(&state, regions.size(), regions.data());
109
110 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
111}
112
114 return llvm::isa<TemplateExprOp>(unwrap(inp));
115}
116
117MlirAttribute llzkPoly_TemplateExprOpGetSymName(MlirOperation op) {
118 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"));
119}
120
121void llzkPoly_TemplateExprOpSetSymName(MlirOperation op, MlirAttribute attr) {
122 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"), attr);
123}
124
126 return mlirOperationGetRegion(op, 0);
127}
128
129MlirType llzkPoly_TemplateExprOpGetType(MlirOperation inp) {
130 return wrap(llvm::cast<TemplateExprOp>(unwrap(inp)).getType());
131}
132
133MlirOperation llzkPoly_TemplateOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name) {
134 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.template"), location);
135 MlirContext ctx = mlirOpBuilderGetContext(builder);
136 llvm::SmallVector<MlirNamedAttribute, 1> attributes;
137 if (!mlirAttributeIsNull(reinterpret_cast<MlirAttribute&>(sym_name))) {
138 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("sym_name")), reinterpret_cast<MlirAttribute&>(sym_name)));
139 }
140 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
141 llvm::SmallVector<MlirRegion, 1> regions;
142 regions.push_back(mlirRegionCreate());
143 mlirOperationStateAddOwnedRegions(&state, regions.size(), regions.data());
144
145 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
146}
147
148bool llzkOperationIsA_Poly_TemplateOp(MlirOperation inp) {
149 return llvm::isa<TemplateOp>(unwrap(inp));
150}
151
152MlirAttribute llzkPoly_TemplateOpGetSymName(MlirOperation op) {
153 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"));
154}
155
156void llzkPoly_TemplateOpSetSymName(MlirOperation op, MlirAttribute attr) {
157 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"), attr);
158}
159
160MlirRegion llzkPoly_TemplateOpGetBodyRegion(MlirOperation op) {
161 return mlirOperationGetRegion(op, 0);
162}
163
164MlirOperation llzkPoly_TemplateParamOpBuild(MlirOpBuilder builder, MlirLocation location, MlirIdentifier sym_name, MlirAttribute type_opt) {
165 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.param"), location);
166 MlirContext ctx = mlirOpBuilderGetContext(builder);
167 llvm::SmallVector<MlirNamedAttribute, 2> attributes;
168 if (!mlirAttributeIsNull(reinterpret_cast<MlirAttribute&>(sym_name))) {
169 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("sym_name")), reinterpret_cast<MlirAttribute&>(sym_name)));
170 }
171 if (!mlirAttributeIsNull(type_opt)) {
172 attributes.push_back(mlirNamedAttributeGet(mlirIdentifierGet(ctx, mlirStringRefCreateFromCString("type_opt")), type_opt));
173 }
174 mlirOperationStateAddAttributes(&state, attributes.size(), attributes.data());
175
176 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
177}
178
180 return llvm::isa<TemplateParamOp>(unwrap(inp));
181}
182
183MlirAttribute llzkPoly_TemplateParamOpGetSymName(MlirOperation op) {
184 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"));
185}
186
187void llzkPoly_TemplateParamOpSetSymName(MlirOperation op, MlirAttribute attr) {
188 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("sym_name"), attr);
189}
190
191MlirAttribute llzkPoly_TemplateParamOpGetTypeOpt(MlirOperation op) {
192 return mlirOperationGetAttributeByName(op, mlirStringRefCreateFromCString("type_opt"));
193}
194
195void llzkPoly_TemplateParamOpSetTypeOpt(MlirOperation op, MlirAttribute attr) {
196 mlirOperationSetAttributeByName(op, mlirStringRefCreateFromCString("type_opt"), attr);
197}
198
199MlirOperation llzkPoly_UnifiableCastOpBuild(MlirOpBuilder builder, MlirLocation location, MlirType resultType, MlirValue input) {
200 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.unifiable_cast"), location);
201 mlirOperationStateAddResults(&state, 1, &resultType);
202 mlirOperationStateAddOperands(&state, 1, &input);
203
204 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
205}
206
208 return llvm::isa<UnifiableCastOp>(unwrap(inp));
209}
210
211MlirValue llzkPoly_UnifiableCastOpGetInput(MlirOperation op) {
212 auto range = llvm::cast<UnifiableCastOp>(unwrap(op)).getODSOperandIndexAndLength(0);
213 assert(range.second == 1 && "expected fixed operand segment size");
214 assert(
215 static_cast<uintptr_t>(range.first) <= static_cast<uintptr_t>(std::numeric_limits<intptr_t>::max()) &&
216 "operand index exceeds intptr_t range"
217 );
218 return mlirOperationGetOperand(op, static_cast<intptr_t>(range.first));
219}
220
221void llzkPoly_UnifiableCastOpSetInput(MlirOperation op, MlirValue value) {
222 auto range = llvm::cast<UnifiableCastOp>(unwrap(op)).getODSOperandIndexAndLength(0);
223 assert(range.second == 1 && "expected fixed operand segment size");
224 assert(
225 static_cast<uintptr_t>(range.first) <= static_cast<uintptr_t>(std::numeric_limits<intptr_t>::max()) &&
226 "operand index exceeds intptr_t range"
227 );
228 mlirOperationSetOperand(op, static_cast<intptr_t>(range.first), value);
229}
230
231MlirValue llzkPoly_UnifiableCastOpGetResult(MlirOperation op) {
232 return mlirOperationGetResult(op, 0);
233}
234
235MlirOperation llzkPoly_YieldOpBuild(MlirOpBuilder builder, MlirLocation location, MlirValue val) {
236 MlirOperationState state = mlirOperationStateGet(mlirStringRefCreateFromCString("poly.yield"), location);
237 mlirOperationStateAddOperands(&state, 1, &val);
238
239 return mlirOpBuilderInsert(builder, mlirOperationCreate(&state));
240}
241
242bool llzkOperationIsA_Poly_YieldOp(MlirOperation inp) {
243 return llvm::isa<YieldOp>(unwrap(inp));
244}
245
246MlirValue llzkPoly_YieldOpGetVal(MlirOperation op) {
247 auto range = llvm::cast<YieldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
248 assert(range.second == 1 && "expected fixed operand segment size");
249 assert(
250 static_cast<uintptr_t>(range.first) <= static_cast<uintptr_t>(std::numeric_limits<intptr_t>::max()) &&
251 "operand index exceeds intptr_t range"
252 );
253 return mlirOperationGetOperand(op, static_cast<intptr_t>(range.first));
254}
255
256void llzkPoly_YieldOpSetVal(MlirOperation op, MlirValue value) {
257 auto range = llvm::cast<YieldOp>(unwrap(op)).getODSOperandIndexAndLength(0);
258 assert(range.second == 1 && "expected fixed operand segment size");
259 assert(
260 static_cast<uintptr_t>(range.first) <= static_cast<uintptr_t>(std::numeric_limits<intptr_t>::max()) &&
261 "operand index exceeds intptr_t range"
262 );
263 mlirOperationSetOperand(op, static_cast<intptr_t>(range.first), value);
264}
MlirContext mlirOpBuilderGetContext(MlirOpBuilder builder)
Returns the MLIR context associated with builder.
Definition Builder.cpp:95
MlirOperation mlirOpBuilderInsert(MlirOpBuilder builder, MlirOperation op)
Inserts op at the current insertion point of builder and returns it.
Definition Builder.cpp:167
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.