LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
Ops.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_OP_LIST
11#undef GET_OP_LIST
12
15#endif // GET_OP_LIST
16
17#ifdef GET_OP_CLASSES
18#undef GET_OP_CLASSES
19
20
21//===----------------------------------------------------------------------===//
22// Local Utility Method Definitions
23//===----------------------------------------------------------------------===//
24
25namespace llzk {
26namespace cast {
27
28static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
29 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
30 unsigned valueIndex) {
31 if (!((::llvm::isa<::llzk::felt::FeltType>(type)))) {
32 return op->emitOpError(valueKind) << " #" << valueIndex
33 << " must be finite field element, but got " << type;
34 }
35 return ::mlir::success();
36}
37
38static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops2(
39 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
40 unsigned valueIndex) {
41 if (!((::llvm::isa<::mlir::IndexType>(type)))) {
42 return op->emitOpError(valueKind) << " #" << valueIndex
43 << " must be index, but got " << type;
44 }
45 return ::mlir::success();
46}
47
48static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops3(
49 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
50 unsigned valueIndex) {
51 if (!(((type.isSignlessInteger(1))) || ((::llvm::isa<::mlir::IndexType>(type))))) {
52 return op->emitOpError(valueKind) << " #" << valueIndex
53 << " must be 1-bit signless integer or index, but got " << type;
54 }
55 return ::mlir::success();
56}
57} // namespace cast
58} // namespace llzk
59namespace llzk {
60namespace cast {
61
62//===----------------------------------------------------------------------===//
63// ::llzk::cast::FeltToIndexOp definitions
64//===----------------------------------------------------------------------===//
65
66namespace detail {
67} // namespace detail
69
70::llvm::LogicalResult FeltToIndexOpAdaptor::verify(::mlir::Location loc) {
71 return ::mlir::success();
72}
73
74void FeltToIndexOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
75 odsState.addOperands(value);
76 odsState.addTypes(result);
77}
78
79void FeltToIndexOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
80 odsState.addOperands(value);
81 assert(resultTypes.size() == 1u && "mismatched number of results");
82 odsState.addTypes(resultTypes);
83}
84
85void FeltToIndexOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
86 assert(operands.size() == 1u && "mismatched number of parameters");
87 odsState.addOperands(operands);
88 odsState.addAttributes(attributes);
89 assert(resultTypes.size() == 1u && "mismatched number of return types");
90 odsState.addTypes(resultTypes);
91}
92
93::llvm::LogicalResult FeltToIndexOp::verifyInvariantsImpl() {
94 {
95 unsigned index = 0; (void)index;
96 auto valueGroup0 = getODSOperands(0);
97
98 for (auto v : valueGroup0) {
99 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*this, v.getType(), "operand", index++)))
100 return ::mlir::failure();
101 }
102 }
103 {
104 unsigned index = 0; (void)index;
105 auto valueGroup0 = getODSResults(0);
106
107 for (auto v : valueGroup0) {
108 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*this, v.getType(), "result", index++)))
109 return ::mlir::failure();
110 }
111 }
112 return ::mlir::success();
113}
114
115::llvm::LogicalResult FeltToIndexOp::verifyInvariants() {
116 if(::mlir::succeeded(verifyInvariantsImpl()) && ::mlir::succeeded(verify()))
117 return ::mlir::success();
118 return ::mlir::failure();
119}
120
121::mlir::ParseResult FeltToIndexOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
122 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
123 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
124 (void)valueOperandsLoc;
125
126 valueOperandsLoc = parser.getCurrentLocation();
127 if (parser.parseOperand(valueRawOperand))
128 return ::mlir::failure();
129 {
130 auto loc = parser.getCurrentLocation();(void)loc;
131 if (parser.parseOptionalAttrDict(result.attributes))
132 return ::mlir::failure();
133 }
134 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIndexType();
135 ::mlir::Type odsBuildableType1 = parser.getBuilder().getType<::llzk::felt::FeltType>();
136 result.addTypes(odsBuildableType0);
137 if (parser.resolveOperands(valueOperands, odsBuildableType1, valueOperandsLoc, result.operands))
138 return ::mlir::failure();
139 return ::mlir::success();
140}
141
142void FeltToIndexOp::print(::mlir::OpAsmPrinter &_odsPrinter) {
143 _odsPrinter << ' ';
144 _odsPrinter << getValue();
145 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
146 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
147}
148
149void FeltToIndexOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
150}
151
152} // namespace cast
153} // namespace llzk
154MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::cast::FeltToIndexOp)
155
156namespace llzk {
157namespace cast {
158
159//===----------------------------------------------------------------------===//
160// ::llzk::cast::IntToFeltOp definitions
161//===----------------------------------------------------------------------===//
162
163namespace detail {
164} // namespace detail
166
167::llvm::LogicalResult IntToFeltOpAdaptor::verify(::mlir::Location loc) {
168 return ::mlir::success();
169}
170
171void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
172 odsState.addOperands(value);
173 odsState.addTypes(result);
174}
175
176void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
177 odsState.addOperands(value);
178 assert(resultTypes.size() == 1u && "mismatched number of results");
179 odsState.addTypes(resultTypes);
180}
181
182void IntToFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
183 assert(operands.size() == 1u && "mismatched number of parameters");
184 odsState.addOperands(operands);
185 odsState.addAttributes(attributes);
186 assert(resultTypes.size() == 1u && "mismatched number of return types");
187 odsState.addTypes(resultTypes);
188}
189
190::llvm::LogicalResult IntToFeltOp::verifyInvariantsImpl() {
191 {
192 unsigned index = 0; (void)index;
193 auto valueGroup0 = getODSOperands(0);
194
195 for (auto v : valueGroup0) {
196 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*this, v.getType(), "operand", index++)))
197 return ::mlir::failure();
198 }
199 }
200 {
201 unsigned index = 0; (void)index;
202 auto valueGroup0 = getODSResults(0);
203
204 for (auto v : valueGroup0) {
205 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*this, v.getType(), "result", index++)))
206 return ::mlir::failure();
207 }
208 }
209 return ::mlir::success();
210}
211
212::llvm::LogicalResult IntToFeltOp::verifyInvariants() {
213 return verifyInvariantsImpl();
214}
215
216::mlir::ParseResult IntToFeltOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
217 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
218 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
219 (void)valueOperandsLoc;
220 ::mlir::Type valueRawType{};
221 ::llvm::ArrayRef<::mlir::Type> valueTypes(&valueRawType, 1);
222
223 valueOperandsLoc = parser.getCurrentLocation();
224 if (parser.parseOperand(valueRawOperand))
225 return ::mlir::failure();
226 if (parser.parseColon())
227 return ::mlir::failure();
228
229 {
230 ::mlir::Type type;
231 if (parser.parseCustomTypeWithFallback(type))
232 return ::mlir::failure();
233 valueRawType = type;
234 }
235 {
236 auto loc = parser.getCurrentLocation();(void)loc;
237 if (parser.parseOptionalAttrDict(result.attributes))
238 return ::mlir::failure();
239 }
240 ::mlir::Type odsBuildableType0 = parser.getBuilder().getType<::llzk::felt::FeltType>();
241 result.addTypes(odsBuildableType0);
242 if (parser.resolveOperands(valueOperands, valueTypes, valueOperandsLoc, result.operands))
243 return ::mlir::failure();
244 return ::mlir::success();
245}
246
247void IntToFeltOp::print(::mlir::OpAsmPrinter &_odsPrinter) {
248 _odsPrinter << ' ';
249 _odsPrinter << getValue();
250 _odsPrinter << ' ' << ":";
251 _odsPrinter << ' ';
252 {
253 auto type = getValue().getType();
254 if (auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
255 _odsPrinter.printStrippedAttrOrType(validType);
256 else
257 _odsPrinter << type;
258 }
259 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
260 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
261}
262
263void IntToFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
264}
265
266} // namespace cast
267} // namespace llzk
268MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::cast::IntToFeltOp)
269
270
271#endif // GET_OP_CLASSES
272
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:70
FeltToIndexOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Definition Ops.h.inc:59
FeltToIndexOpAdaptor(FeltToIndexOp op)
Definition Ops.cpp.inc:68
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:115
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:149
::llvm::LogicalResult verify()
Definition Ops.cpp:28
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
Definition Ops.cpp.inc:74
::mlir::TypedValue<::llzk::felt::FeltType > getValue()
Definition Ops.h.inc:122
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:142
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:135
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:121
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:116
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:93
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:167
IntToFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Definition Ops.h.inc:196
IntToFeltOpAdaptor(IntToFeltOp op)
Definition Ops.cpp.inc:165
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:247
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:190
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:263
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:253
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:216
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
Definition Ops.cpp.inc:171
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:272
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:212
::mlir::TypedValue<::mlir::Type > getValue()
Definition Ops.h.inc:259