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();
120 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
121 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
122 (void)valueOperandsLoc;
124 valueOperandsLoc = parser.getCurrentLocation();
125 if (parser.parseOperand(valueRawOperand))
126 return ::mlir::failure();
128 auto loc = parser.getCurrentLocation();(void)loc;
129 if (parser.parseOptionalAttrDict(result.attributes))
130 return ::mlir::failure();
132 ::mlir::Type odsBuildableType0 = parser.getBuilder().getIndexType();
134 result.addTypes(odsBuildableType0);
135 if (parser.resolveOperands(valueOperands, odsBuildableType1, valueOperandsLoc, result.operands))
136 return ::mlir::failure();
137 return ::mlir::success();
143 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
144 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
166 return ::mlir::success();
169void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value) {
170 odsState.addOperands(value);
171 odsState.addTypes(result);
174void IntToFeltOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value) {
175 odsState.addOperands(value);
176 assert(resultTypes.size() == 1u &&
"mismatched number of results");
177 odsState.addTypes(resultTypes);
180void IntToFeltOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
181 assert(operands.size() == 1u &&
"mismatched number of parameters");
182 odsState.addOperands(operands);
183 odsState.addAttributes(attributes);
184 assert(resultTypes.size() == 1u &&
"mismatched number of return types");
185 odsState.addTypes(resultTypes);
190 unsigned index = 0; (void)index;
193 for (
auto v : valueGroup0) {
194 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops3(*
this, v.getType(),
"operand", index++)))
195 return ::mlir::failure();
199 unsigned index = 0; (void)index;
202 for (
auto v : valueGroup0) {
203 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*
this, v.getType(),
"result", index++)))
204 return ::mlir::failure();
207 return ::mlir::success();
215 ::mlir::OpAsmParser::UnresolvedOperand valueRawOperand{};
216 ::llvm::ArrayRef<::mlir::OpAsmParser::UnresolvedOperand> valueOperands(&valueRawOperand, 1); ::llvm::SMLoc valueOperandsLoc;
217 (void)valueOperandsLoc;
218 ::mlir::Type valueRawType{};
219 ::llvm::ArrayRef<::mlir::Type> valueTypes(&valueRawType, 1);
221 valueOperandsLoc = parser.getCurrentLocation();
222 if (parser.parseOperand(valueRawOperand))
223 return ::mlir::failure();
224 if (parser.parseColon())
225 return ::mlir::failure();
229 if (parser.parseCustomTypeWithFallback(type))
230 return ::mlir::failure();
234 auto loc = parser.getCurrentLocation();(void)loc;
235 if (parser.parseOptionalAttrDict(result.attributes))
236 return ::mlir::failure();
239 result.addTypes(odsBuildableType0);
240 if (parser.resolveOperands(valueOperands, valueTypes, valueOperandsLoc, result.operands))
241 return ::mlir::failure();
242 return ::mlir::success();
248 _odsPrinter <<
' ' <<
":";
252 if (
auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
253 _odsPrinter.printStrippedAttrOrType(validType);
257 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
258 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
261void 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)
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()