28static ::mlir::LogicalResult __mlir_ods_local_type_constraint_Ops0(
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;
35 return ::mlir::success();
38static ::mlir::LogicalResult __mlir_ods_local_type_constraint_Ops1(
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;
45 return ::mlir::success();
48static ::mlir::LogicalResult __mlir_ods_local_type_constraint_Ops2(
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;
55 return ::mlir::success();
85 return ::mlir::success();
94 return {std::next(getOperation()->operand_begin(), valueRange.first),
95 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
99 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSOperands(0).begin());
104 return getOperation()->getOpOperand(range.first);
113 return {std::next(getOperation()->result_begin(), valueRange.first),
114 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
118 return ::llvm::cast<::mlir::TypedValue<::mlir::IndexType>>(*
getODSResults(0).begin());
121void FeltToIndexOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
122 odsState.addOperands(value);
123 odsState.addTypes(result);
126void FeltToIndexOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
127 odsState.addOperands(value);
128 assert(resultTypes.size() == 1u &&
"mismatched number of results");
129 odsState.addTypes(resultTypes);
132void FeltToIndexOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
133 assert(operands.size() == 1u &&
"mismatched number of parameters");
134 odsState.addOperands(operands);
135 odsState.addAttributes(attributes);
136 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
137 odsState.addTypes(resultTypes);
142 unsigned index = 0; (void)index;
145 for (
auto v : valueGroup0) {
146 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"operand", index++)))
147 return ::mlir::failure();
151 unsigned index = 0; (void)index;
154 for (
auto v : valueGroup0) {
155 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
156 return ::mlir::failure();
159 return ::mlir::success();
164 return ::mlir::success();
165 return ::mlir::failure();
169 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperands[1];
170 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(valueRawOperands); ::llvm::SMLoc valueOperandsLoc;
171 (void)valueOperandsLoc;
173 valueOperandsLoc = parser.getCurrentLocation();
174 if (parser.parseOperand(valueRawOperands[0]))
175 return ::mlir::failure();
177 auto loc = parser.getCurrentLocation();(void)loc;
178 if (parser.parseOptionalAttrDict(result.attributes))
179 return ::mlir::failure();
181 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIndexType();
183 result.addTypes(odsBuildableType0);
184 if (parser.resolveOperands(valueOperands, odsBuildableType1, valueOperandsLoc, result.operands))
185 return ::mlir::failure();
186 return ::mlir::success();
192 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
193 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
229 return ::mlir::success();
238 return {std::next(getOperation()->operand_begin(), valueRange.first),
239 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
248 return getOperation()->getOpOperand(range.first);
257 return {std::next(getOperation()->result_begin(), valueRange.first),
258 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
262 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
265void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
266 odsState.addOperands(value);
267 odsState.addTypes(result);
270void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
271 odsState.addOperands(value);
272 assert(resultTypes.size() == 1u &&
"mismatched number of results");
273 odsState.addTypes(resultTypes);
276void IntToFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
277 assert(operands.size() == 1u &&
"mismatched number of parameters");
278 odsState.addOperands(operands);
279 odsState.addAttributes(attributes);
280 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
281 odsState.addTypes(resultTypes);
286 unsigned index = 0; (void)index;
289 for (
auto v : valueGroup0) {
290 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"operand", index++)))
291 return ::mlir::failure();
295 unsigned index = 0; (void)index;
298 for (
auto v : valueGroup0) {
299 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops0(*
this, v.getType(),
"result", index++)))
300 return ::mlir::failure();
303 return ::mlir::success();
311 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperands[1];
312 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(valueRawOperands); ::llvm::SMLoc valueOperandsLoc;
313 (void)valueOperandsLoc;
314 ::mlir::Type valueRawTypes[1];
315 ::llvm::ArrayRef<::mlir::Type> valueTypes(valueRawTypes);
317 valueOperandsLoc = parser.getCurrentLocation();
318 if (parser.parseOperand(valueRawOperands[0]))
319 return ::mlir::failure();
320 if (parser.parseColon())
321 return ::mlir::failure();
325 if (parser.parseCustomTypeWithFallback(type))
326 return ::mlir::failure();
327 valueRawTypes[0] = type;
330 auto loc = parser.getCurrentLocation();(void)loc;
331 if (parser.parseOptionalAttrDict(result.attributes))
332 return ::mlir::failure();
335 result.addTypes(odsBuildableType0);
336 if (parser.resolveOperands(valueOperands, valueTypes, valueOperandsLoc, result.operands))
337 return ::mlir::failure();
338 return ::mlir::success();
344 _odsPrinter <<
' ' <<
":";
348 if (
auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
349 _odsPrinter.printStrippedAttrOrType(validType);
353 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
354 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
357void IntToFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
::mlir::LogicalResult verify(::mlir::Location loc)
FeltToIndexOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
FeltToIndexOpAdaptor(FeltToIndexOp op)
::mlir::ValueRange getOperands()
::mlir::OpOperand & getValueMutable()
::mlir::TypedValue<::mlir::IndexType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::LogicalResult verify()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::LogicalResult verifyInvariants()
::mlir::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::felt::FeltType > getValue()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
IntToFeltOpAdaptor(IntToFeltOp op)
IntToFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::LogicalResult verify(::mlir::Location loc)
::mlir::ValueRange getOperands()
::mlir::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getValueMutable()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
FeltToIndexOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
IntToFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs=nullptr, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)