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;
35 return ::mlir::success();
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;
45 return ::mlir::success();
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;
55 return ::mlir::success();
71 return ::mlir::success();
74void FeltToIndexOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
75 odsState.addOperands(value);
76 odsState.addTypes(result);
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);
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);
95 unsigned index = 0; (void)index;
98 for (
auto v : valueGroup0) {
99 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"operand", index++)))
100 return ::mlir::failure();
104 unsigned index = 0; (void)index;
107 for (
auto v : valueGroup0) {
108 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops2(*
this, v.getType(),
"result", index++)))
109 return ::mlir::failure();
112 return ::mlir::success();
117 return ::mlir::success();
118 return ::mlir::failure();
122 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
123 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
124 (void)valueOperandsLoc;
126 valueOperandsLoc = parser.getCurrentLocation();
127 if (parser.parseOperand(valueRawOperand))
128 return ::mlir::failure();
130 auto loc = parser.getCurrentLocation();(void)loc;
131 if (parser.parseOptionalAttrDict(result.attributes))
132 return ::mlir::failure();
134 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIndexType();
136 result.addTypes(odsBuildableType0);
137 if (parser.resolveOperands(valueOperands, odsBuildableType1, valueOperandsLoc, result.operands))
138 return ::mlir::failure();
139 return ::mlir::success();
145 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
146 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
168 return ::mlir::success();
171void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
172 odsState.addOperands(value);
173 odsState.addTypes(result);
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);
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);
192 unsigned index = 0; (void)index;
195 for (
auto v : valueGroup0) {
196 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
197 return ::mlir::failure();
201 unsigned index = 0; (void)index;
204 for (
auto v : valueGroup0) {
205 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
206 return ::mlir::failure();
209 return ::mlir::success();
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);
223 valueOperandsLoc = parser.getCurrentLocation();
224 if (parser.parseOperand(valueRawOperand))
225 return ::mlir::failure();
226 if (parser.parseColon())
227 return ::mlir::failure();
231 if (parser.parseCustomTypeWithFallback(type))
232 return ::mlir::failure();
236 auto loc = parser.getCurrentLocation();(void)loc;
237 if (parser.parseOptionalAttrDict(result.attributes))
238 return ::mlir::failure();
241 result.addTypes(odsBuildableType0);
242 if (parser.resolveOperands(valueOperands, valueTypes, valueOperandsLoc, result.operands))
243 return ::mlir::failure();
244 return ::mlir::success();
250 _odsPrinter <<
' ' <<
":";
254 if (
auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
255 _odsPrinter.printStrippedAttrOrType(validType);
259 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
260 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
263void IntToFeltOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
::llvm::LogicalResult verify(::mlir::Location loc)
FeltToIndexOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
FeltToIndexOpAdaptor(FeltToIndexOp op)
::mlir::ValueRange getOperands()
::llvm::LogicalResult verifyInvariants()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
::mlir::TypedValue<::llzk::felt::FeltType > getValue()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verify(::mlir::Location loc)
IntToFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntToFeltOpAdaptor(IntToFeltOp op)
::mlir::ValueRange getOperands()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::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)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getValue()