134template <
typename RangeT>
136 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
139 AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
145 template <
typename LateInst = AddFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AddFeltOp>>>
154 return {std::next(odsOperands.begin(), valueRange.first),
155 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
178 ::llvm::LogicalResult
verify(::mlir::Location loc);
180class AddFeltOp :
public ::mlir::Op<AddFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
185 template <
typename RangeT>
193 return ::llvm::StringLiteral(
"felt.add");
202 return {std::next(getOperation()->operand_begin(), valueRange.first),
203 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
206 ::mlir::TypedValue<::mlir::Type>
getLhs() {
207 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
210 ::mlir::TypedValue<::mlir::Type>
getRhs() {
211 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
216 return getOperation()->getOpOperand(range.first);
221 return getOperation()->getOpOperand(range.first);
230 return {std::next(getOperation()->result_begin(), valueRange.first),
231 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
234 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
235 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
238 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
239 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
240 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
241 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
242 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
245 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
246 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
247 void print(::mlir::OpAsmPrinter &_odsPrinter);
248 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
251 static ::mlir::ParseResult parseInferredOrParsedType(
252 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
254 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
257 if (parser.parseCustomTypeWithFallback(type)) {
258 return mlir::failure();
264 parser.getBuilder().getType<::llzk::felt::FeltType>();
266 return mlir::success();
269 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
270 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
272 printer << (isFirst ?
" : " :
", ");
273 printer.printStrippedAttrOrType(opType);
311template <
typename RangeT>
313 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
316 AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
322 template <
typename LateInst = AndFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndFeltOp>>>
331 return {std::next(odsOperands.begin(), valueRange.first),
332 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
355 ::llvm::LogicalResult
verify(::mlir::Location loc);
357class AndFeltOp :
public ::mlir::Op<AndFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
362 template <
typename RangeT>
370 return ::llvm::StringLiteral(
"felt.bit_and");
379 return {std::next(getOperation()->operand_begin(), valueRange.first),
380 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
383 ::mlir::TypedValue<::mlir::Type>
getLhs() {
384 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
387 ::mlir::TypedValue<::mlir::Type>
getRhs() {
388 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
393 return getOperation()->getOpOperand(range.first);
398 return getOperation()->getOpOperand(range.first);
407 return {std::next(getOperation()->result_begin(), valueRange.first),
408 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
411 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
412 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
415 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
416 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
417 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
418 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
419 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
422 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
423 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
424 void print(::mlir::OpAsmPrinter &_odsPrinter);
425 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
428 static ::mlir::ParseResult parseInferredOrParsedType(
429 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
431 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
434 if (parser.parseCustomTypeWithFallback(type)) {
435 return mlir::failure();
441 parser.getBuilder().getType<::llzk::felt::FeltType>();
443 return mlir::success();
446 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
447 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
449 printer << (isFirst ?
" : " :
", ");
450 printer.printStrippedAttrOrType(opType);
488template <
typename RangeT>
490 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
493 DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
499 template <
typename LateInst = DivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DivFeltOp>>>
508 return {std::next(odsOperands.begin(), valueRange.first),
509 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
532 ::llvm::LogicalResult
verify(::mlir::Location loc);
534class DivFeltOp :
public ::mlir::Op<DivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
539 template <
typename RangeT>
547 return ::llvm::StringLiteral(
"felt.div");
556 return {std::next(getOperation()->operand_begin(), valueRange.first),
557 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
560 ::mlir::TypedValue<::mlir::Type>
getLhs() {
561 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
564 ::mlir::TypedValue<::mlir::Type>
getRhs() {
565 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
570 return getOperation()->getOpOperand(range.first);
575 return getOperation()->getOpOperand(range.first);
584 return {std::next(getOperation()->result_begin(), valueRange.first),
585 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
588 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
589 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
592 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
593 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
594 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
595 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
596 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
599 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
600 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
601 void print(::mlir::OpAsmPrinter &_odsPrinter);
602 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
605 static ::mlir::ParseResult parseInferredOrParsedType(
606 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
608 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
611 if (parser.parseCustomTypeWithFallback(type)) {
612 return mlir::failure();
618 parser.getBuilder().getType<::llzk::felt::FeltType>();
620 return mlir::success();
623 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
624 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
626 printer << (isFirst ?
" : " :
", ");
627 printer.printStrippedAttrOrType(opType);
649 auto &propStorage = this->value;
650 return ::llvm::cast<::llzk::felt::FeltConstAttr>(propStorage);
652 void setValue(const ::llzk::felt::FeltConstAttr &propValue) {
653 this->value = propValue;
657 rhs.
value == this->value &&
661 return !(*
this == rhs);
689 auto attr = ::llvm::cast<::llzk::felt::FeltConstAttr>(
getProperties().value);
696template <
typename RangeT>
698 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
709 template <
typename LateInst = FeltConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FeltConstantOp>>>
718 return {std::next(odsOperands.begin(), valueRange.first),
719 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
734 ::llvm::LogicalResult
verify(::mlir::Location loc);
736class FeltConstantOp :
public ::mlir::Op<FeltConstantOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::OpTrait::ConstantLike, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
741 template <
typename RangeT>
746 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
747 return ::llvm::ArrayRef(attrNames);
751 return getAttributeNameForIndex(0);
755 return getAttributeNameForIndex(name, 0);
759 return ::llvm::StringLiteral(
"felt.const");
768 return {std::next(getOperation()->operand_begin(), valueRange.first),
769 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
778 return {std::next(getOperation()->result_begin(), valueRange.first),
779 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
782 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
783 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
786 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
789 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
792 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
793 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
796 return ::llvm::cast<::llzk::felt::FeltConstAttr>(getProperties().value);
801 getProperties().value = attr;
804 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value);
805 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::felt::FeltConstAttr value);
806 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::felt::FeltConstAttr value);
807 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
808 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
812 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
814 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
815 void print(::mlir::OpAsmPrinter &_odsPrinter);
816 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
818 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
819 return getAttributeNameForIndex((*this)->getName(), index);
822 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
823 assert(index < 1 &&
"invalid attribute index");
824 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
825 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
826 "dependent dialect loading?");
827 return name.getAttributeNames()[index];
867template <
typename RangeT>
869 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
872 InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
878 template <
typename LateInst = InvFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, InvFeltOp>>>
887 return {std::next(odsOperands.begin(), valueRange.first),
888 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
907 ::llvm::LogicalResult
verify(::mlir::Location loc);
909class InvFeltOp :
public ::mlir::Op<InvFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
914 template <
typename RangeT>
922 return ::llvm::StringLiteral(
"felt.inv");
931 return {std::next(getOperation()->operand_begin(), valueRange.first),
932 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
936 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
941 return getOperation()->getOpOperand(range.first);
950 return {std::next(getOperation()->result_begin(), valueRange.first),
951 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
954 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
955 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
958 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
959 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
960 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
961 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
962 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
965 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
966 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
967 void print(::mlir::OpAsmPrinter &_odsPrinter);
968 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
971 static ::mlir::ParseResult parseInferredOrParsedType(
972 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
974 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
977 if (parser.parseCustomTypeWithFallback(type)) {
978 return mlir::failure();
984 parser.getBuilder().getType<::llzk::felt::FeltType>();
986 return mlir::success();
989 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
990 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
992 printer << (isFirst ?
" : " :
", ");
993 printer.printStrippedAttrOrType(opType);
1031template <
typename RangeT>
1033 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1036 MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1042 template <
typename LateInst = MulFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, MulFeltOp>>>
1051 return {std::next(odsOperands.begin(), valueRange.first),
1052 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1075 ::llvm::LogicalResult
verify(::mlir::Location loc);
1077class MulFeltOp :
public ::mlir::Op<MulFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1082 template <
typename RangeT>
1090 return ::llvm::StringLiteral(
"felt.mul");
1099 return {std::next(getOperation()->operand_begin(), valueRange.first),
1100 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1104 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1108 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1113 return getOperation()->getOpOperand(range.first);
1118 return getOperation()->getOpOperand(range.first);
1127 return {std::next(getOperation()->result_begin(), valueRange.first),
1128 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1132 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1135 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1136 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1137 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1138 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1139 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1142 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1143 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1144 void print(::mlir::OpAsmPrinter &_odsPrinter);
1145 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1148 static ::mlir::ParseResult parseInferredOrParsedType(
1149 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1151 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1154 if (parser.parseCustomTypeWithFallback(type)) {
1155 return mlir::failure();
1161 parser.getBuilder().getType<::llzk::felt::FeltType>();
1163 return mlir::success();
1166 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1167 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1169 printer << (isFirst ?
" : " :
", ");
1170 printer.printStrippedAttrOrType(opType);
1208template <
typename RangeT>
1210 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1213 NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1219 template <
typename LateInst = NegFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NegFeltOp>>>
1228 return {std::next(odsOperands.begin(), valueRange.first),
1229 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1248 ::llvm::LogicalResult
verify(::mlir::Location loc);
1250class NegFeltOp :
public ::mlir::Op<NegFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1255 template <
typename RangeT>
1263 return ::llvm::StringLiteral(
"felt.neg");
1272 return {std::next(getOperation()->operand_begin(), valueRange.first),
1273 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1277 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1282 return getOperation()->getOpOperand(range.first);
1291 return {std::next(getOperation()->result_begin(), valueRange.first),
1292 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1296 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1299 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1300 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1301 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1302 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1303 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1306 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1307 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1308 void print(::mlir::OpAsmPrinter &_odsPrinter);
1309 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1312 static ::mlir::ParseResult parseInferredOrParsedType(
1313 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1315 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1318 if (parser.parseCustomTypeWithFallback(type)) {
1319 return mlir::failure();
1325 parser.getBuilder().getType<::llzk::felt::FeltType>();
1327 return mlir::success();
1330 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1331 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1333 printer << (isFirst ?
" : " :
", ");
1334 printer.printStrippedAttrOrType(opType);
1372template <
typename RangeT>
1374 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1377 NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1383 template <
typename LateInst = NotFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotFeltOp>>>
1392 return {std::next(odsOperands.begin(), valueRange.first),
1393 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1412 ::llvm::LogicalResult
verify(::mlir::Location loc);
1414class NotFeltOp :
public ::mlir::Op<NotFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1419 template <
typename RangeT>
1427 return ::llvm::StringLiteral(
"felt.bit_not");
1436 return {std::next(getOperation()->operand_begin(), valueRange.first),
1437 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1441 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1446 return getOperation()->getOpOperand(range.first);
1455 return {std::next(getOperation()->result_begin(), valueRange.first),
1456 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1460 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1463 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1464 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1465 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1466 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1467 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1470 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1471 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1472 void print(::mlir::OpAsmPrinter &_odsPrinter);
1473 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1476 static ::mlir::ParseResult parseInferredOrParsedType(
1477 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1479 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1482 if (parser.parseCustomTypeWithFallback(type)) {
1483 return mlir::failure();
1489 parser.getBuilder().getType<::llzk::felt::FeltType>();
1491 return mlir::success();
1494 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1495 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1497 printer << (isFirst ?
" : " :
", ");
1498 printer.printStrippedAttrOrType(opType);
1536template <
typename RangeT>
1538 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1541 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1543 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrFeltOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1547 template <
typename LateInst = OrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrFeltOp>>>
1556 return {std::next(odsOperands.begin(), valueRange.first),
1557 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1580 ::llvm::LogicalResult
verify(::mlir::Location loc);
1582class OrFeltOp :
public ::mlir::Op<OrFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1587 template <
typename RangeT>
1595 return ::llvm::StringLiteral(
"felt.bit_or");
1604 return {std::next(getOperation()->operand_begin(), valueRange.first),
1605 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1609 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1613 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1618 return getOperation()->getOpOperand(range.first);
1623 return getOperation()->getOpOperand(range.first);
1632 return {std::next(getOperation()->result_begin(), valueRange.first),
1633 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1637 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1640 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1641 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1642 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1643 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1644 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1647 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1648 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1649 void print(::mlir::OpAsmPrinter &_odsPrinter);
1650 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1653 static ::mlir::ParseResult parseInferredOrParsedType(
1654 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1656 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1659 if (parser.parseCustomTypeWithFallback(type)) {
1660 return mlir::failure();
1666 parser.getBuilder().getType<::llzk::felt::FeltType>();
1668 return mlir::success();
1671 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1672 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1674 printer << (isFirst ?
" : " :
", ");
1675 printer.printStrippedAttrOrType(opType);
1713template <
typename RangeT>
1715 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1718 PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1724 template <
typename LateInst = PowFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PowFeltOp>>>
1733 return {std::next(odsOperands.begin(), valueRange.first),
1734 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1757 ::llvm::LogicalResult
verify(::mlir::Location loc);
1759class PowFeltOp :
public ::mlir::Op<PowFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1764 template <
typename RangeT>
1772 return ::llvm::StringLiteral(
"felt.pow");
1781 return {std::next(getOperation()->operand_begin(), valueRange.first),
1782 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1786 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1790 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1795 return getOperation()->getOpOperand(range.first);
1800 return getOperation()->getOpOperand(range.first);
1809 return {std::next(getOperation()->result_begin(), valueRange.first),
1810 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1814 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1817 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1818 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1819 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1820 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1821 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1824 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
1825 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1826 void print(::mlir::OpAsmPrinter &_odsPrinter);
1827 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1830 static ::mlir::ParseResult parseInferredOrParsedType(
1831 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1833 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1836 if (parser.parseCustomTypeWithFallback(type)) {
1837 return mlir::failure();
1843 parser.getBuilder().getType<::llzk::felt::FeltType>();
1845 return mlir::success();
1848 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1849 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1851 printer << (isFirst ?
" : " :
", ");
1852 printer.printStrippedAttrOrType(opType);
1890template <
typename RangeT>
1892 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1895 ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1901 template <
typename LateInst = ShlFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShlFeltOp>>>
1910 return {std::next(odsOperands.begin(), valueRange.first),
1911 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1934 ::llvm::LogicalResult
verify(::mlir::Location loc);
1936class ShlFeltOp :
public ::mlir::Op<ShlFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1941 template <
typename RangeT>
1949 return ::llvm::StringLiteral(
"felt.shl");
1958 return {std::next(getOperation()->operand_begin(), valueRange.first),
1959 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1963 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1967 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1972 return getOperation()->getOpOperand(range.first);
1977 return getOperation()->getOpOperand(range.first);
1986 return {std::next(getOperation()->result_begin(), valueRange.first),
1987 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1991 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1994 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1995 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1996 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1997 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1998 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2001 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2002 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2003 void print(::mlir::OpAsmPrinter &_odsPrinter);
2004 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2007 static ::mlir::ParseResult parseInferredOrParsedType(
2008 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2010 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2013 if (parser.parseCustomTypeWithFallback(type)) {
2014 return mlir::failure();
2020 parser.getBuilder().getType<::llzk::felt::FeltType>();
2022 return mlir::success();
2025 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2026 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2028 printer << (isFirst ?
" : " :
", ");
2029 printer.printStrippedAttrOrType(opType);
2067template <
typename RangeT>
2069 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2072 ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2078 template <
typename LateInst = ShrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShrFeltOp>>>
2087 return {std::next(odsOperands.begin(), valueRange.first),
2088 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2111 ::llvm::LogicalResult
verify(::mlir::Location loc);
2113class ShrFeltOp :
public ::mlir::Op<ShrFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2118 template <
typename RangeT>
2126 return ::llvm::StringLiteral(
"felt.shr");
2135 return {std::next(getOperation()->operand_begin(), valueRange.first),
2136 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2140 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2144 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2149 return getOperation()->getOpOperand(range.first);
2154 return getOperation()->getOpOperand(range.first);
2163 return {std::next(getOperation()->result_begin(), valueRange.first),
2164 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2168 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2171 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2172 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2173 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2174 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2175 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2178 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2179 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2180 void print(::mlir::OpAsmPrinter &_odsPrinter);
2181 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2184 static ::mlir::ParseResult parseInferredOrParsedType(
2185 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2187 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2190 if (parser.parseCustomTypeWithFallback(type)) {
2191 return mlir::failure();
2197 parser.getBuilder().getType<::llzk::felt::FeltType>();
2199 return mlir::success();
2202 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2203 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2205 printer << (isFirst ?
" : " :
", ");
2206 printer.printStrippedAttrOrType(opType);
2244template <
typename RangeT>
2246 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2249 SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2255 template <
typename LateInst = SignedIntDivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SignedIntDivFeltOp>>>
2264 return {std::next(odsOperands.begin(), valueRange.first),
2265 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2288 ::llvm::LogicalResult
verify(::mlir::Location loc);
2290class SignedIntDivFeltOp :
public ::mlir::Op<SignedIntDivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2295 template <
typename RangeT>
2303 return ::llvm::StringLiteral(
"felt.sintdiv");
2312 return {std::next(getOperation()->operand_begin(), valueRange.first),
2313 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2317 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2321 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2326 return getOperation()->getOpOperand(range.first);
2331 return getOperation()->getOpOperand(range.first);
2340 return {std::next(getOperation()->result_begin(), valueRange.first),
2341 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2345 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2348 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2349 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2350 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2351 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2352 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2355 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2356 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2357 void print(::mlir::OpAsmPrinter &_odsPrinter);
2358 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2361 static ::mlir::ParseResult parseInferredOrParsedType(
2362 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2364 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2367 if (parser.parseCustomTypeWithFallback(type)) {
2368 return mlir::failure();
2374 parser.getBuilder().getType<::llzk::felt::FeltType>();
2376 return mlir::success();
2379 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2380 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2382 printer << (isFirst ?
" : " :
", ");
2383 printer.printStrippedAttrOrType(opType);
2421template <
typename RangeT>
2423 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2426 SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2432 template <
typename LateInst = SignedModFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SignedModFeltOp>>>
2441 return {std::next(odsOperands.begin(), valueRange.first),
2442 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2465 ::llvm::LogicalResult
verify(::mlir::Location loc);
2467class SignedModFeltOp :
public ::mlir::Op<SignedModFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2472 template <
typename RangeT>
2480 return ::llvm::StringLiteral(
"felt.smod");
2489 return {std::next(getOperation()->operand_begin(), valueRange.first),
2490 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2494 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2498 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2503 return getOperation()->getOpOperand(range.first);
2508 return getOperation()->getOpOperand(range.first);
2517 return {std::next(getOperation()->result_begin(), valueRange.first),
2518 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2522 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2525 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2526 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2527 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2528 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2529 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2532 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2533 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2534 void print(::mlir::OpAsmPrinter &_odsPrinter);
2535 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2538 static ::mlir::ParseResult parseInferredOrParsedType(
2539 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2541 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2544 if (parser.parseCustomTypeWithFallback(type)) {
2545 return mlir::failure();
2551 parser.getBuilder().getType<::llzk::felt::FeltType>();
2553 return mlir::success();
2556 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2557 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2559 printer << (isFirst ?
" : " :
", ");
2560 printer.printStrippedAttrOrType(opType);
2598template <
typename RangeT>
2600 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2603 SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2609 template <
typename LateInst = SubFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SubFeltOp>>>
2618 return {std::next(odsOperands.begin(), valueRange.first),
2619 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2642 ::llvm::LogicalResult
verify(::mlir::Location loc);
2644class SubFeltOp :
public ::mlir::Op<SubFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2649 template <
typename RangeT>
2657 return ::llvm::StringLiteral(
"felt.sub");
2666 return {std::next(getOperation()->operand_begin(), valueRange.first),
2667 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2671 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2675 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2680 return getOperation()->getOpOperand(range.first);
2685 return getOperation()->getOpOperand(range.first);
2694 return {std::next(getOperation()->result_begin(), valueRange.first),
2695 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2699 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2702 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2703 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2704 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2705 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2706 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2709 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2710 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2711 void print(::mlir::OpAsmPrinter &_odsPrinter);
2712 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2715 static ::mlir::ParseResult parseInferredOrParsedType(
2716 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2718 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2721 if (parser.parseCustomTypeWithFallback(type)) {
2722 return mlir::failure();
2728 parser.getBuilder().getType<::llzk::felt::FeltType>();
2730 return mlir::success();
2733 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2734 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2736 printer << (isFirst ?
" : " :
", ");
2737 printer.printStrippedAttrOrType(opType);
2775template <
typename RangeT>
2777 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2780 UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2786 template <
typename LateInst = Un
signedIntDivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Un
signedIntDivFeltOp>>>
2795 return {std::next(odsOperands.begin(), valueRange.first),
2796 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2819 ::llvm::LogicalResult
verify(::mlir::Location loc);
2821class UnsignedIntDivFeltOp :
public ::mlir::Op<UnsignedIntDivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2826 template <
typename RangeT>
2834 return ::llvm::StringLiteral(
"felt.uintdiv");
2843 return {std::next(getOperation()->operand_begin(), valueRange.first),
2844 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2848 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2852 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2857 return getOperation()->getOpOperand(range.first);
2862 return getOperation()->getOpOperand(range.first);
2871 return {std::next(getOperation()->result_begin(), valueRange.first),
2872 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2876 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2879 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2880 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2881 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2882 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2883 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2886 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
2887 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2888 void print(::mlir::OpAsmPrinter &_odsPrinter);
2889 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2892 static ::mlir::ParseResult parseInferredOrParsedType(
2893 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2895 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2898 if (parser.parseCustomTypeWithFallback(type)) {
2899 return mlir::failure();
2905 parser.getBuilder().getType<::llzk::felt::FeltType>();
2907 return mlir::success();
2910 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2911 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2913 printer << (isFirst ?
" : " :
", ");
2914 printer.printStrippedAttrOrType(opType);
2952template <
typename RangeT>
2954 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2957 UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2963 template <
typename LateInst = Un
signedModFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Un
signedModFeltOp>>>
2972 return {std::next(odsOperands.begin(), valueRange.first),
2973 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2996 ::llvm::LogicalResult
verify(::mlir::Location loc);
2998class UnsignedModFeltOp :
public ::mlir::Op<UnsignedModFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
3003 template <
typename RangeT>
3011 return ::llvm::StringLiteral(
"felt.umod");
3020 return {std::next(getOperation()->operand_begin(), valueRange.first),
3021 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3025 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
3029 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
3034 return getOperation()->getOpOperand(range.first);
3039 return getOperation()->getOpOperand(range.first);
3048 return {std::next(getOperation()->result_begin(), valueRange.first),
3049 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3053 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
3056 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3057 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3058 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3059 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3060 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3063 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
3064 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3065 void print(::mlir::OpAsmPrinter &_odsPrinter);
3066 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3069 static ::mlir::ParseResult parseInferredOrParsedType(
3070 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
3072 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
3075 if (parser.parseCustomTypeWithFallback(type)) {
3076 return mlir::failure();
3082 parser.getBuilder().getType<::llzk::felt::FeltType>();
3084 return mlir::success();
3087 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
3088 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
3090 printer << (isFirst ?
" : " :
", ");
3091 printer.printStrippedAttrOrType(opType);
3129template <
typename RangeT>
3131 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3134 XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3140 template <
typename LateInst = XorFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XorFeltOp>>>
3149 return {std::next(odsOperands.begin(), valueRange.first),
3150 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3173 ::llvm::LogicalResult
verify(::mlir::Location loc);
3175class XorFeltOp :
public ::mlir::Op<XorFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
3180 template <
typename RangeT>
3188 return ::llvm::StringLiteral(
"felt.bit_xor");
3197 return {std::next(getOperation()->operand_begin(), valueRange.first),
3198 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3202 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
3206 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
3211 return getOperation()->getOpOperand(range.first);
3216 return getOperation()->getOpOperand(range.first);
3225 return {std::next(getOperation()->result_begin(), valueRange.first),
3226 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3230 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
3233 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3234 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3235 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3236 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3237 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3240 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
3241 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3242 void print(::mlir::OpAsmPrinter &_odsPrinter);
3243 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3246 static ::mlir::ParseResult parseInferredOrParsedType(
3247 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
3249 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
3252 if (parser.parseCustomTypeWithFallback(type)) {
3253 return mlir::failure();
3259 parser.getBuilder().getType<::llzk::felt::FeltType>();
3261 return mlir::success();
3264 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
3265 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
3267 printer << (isFirst ?
" : " :
", ");
3268 printer.printStrippedAttrOrType(opType);
::llvm::LogicalResult verify(::mlir::Location loc)
AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AddFeltOpAdaptor(AddFeltOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
AddFeltOpGenericAdaptor(RangeT values, const AddFeltOpGenericAdaptorBase &base)
AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
AddFeltOpGenericAdaptor(RangeT values, LateInst op)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::OpOperand & getLhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getRhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
AddFeltOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
AndFeltOpAdaptor(AndFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndFeltOpGenericAdaptor(RangeT values, const AndFeltOpGenericAdaptorBase &base)
AndFeltOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getRhs()
AndFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DivFeltOpAdaptor(DivFeltOp op)
RangeT getODSOperands(unsigned index)
DivFeltOpGenericAdaptor(RangeT values, LateInst op)
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DivFeltOpGenericAdaptor(RangeT values, const DivFeltOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
DivFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getLhsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
FeltConstantOpAdaptor(FeltConstantOp op)
FeltConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
FeltConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
FeltConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
FeltConstantOpGenericAdaptor(RangeT values, const FeltConstantOpGenericAdaptorBase &base)
FeltConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
FeltConstantOpGenericAdaptor(RangeT values, LateInst op)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FeltConstantOpAdaptor Adaptor
FoldAdaptor::Properties Properties
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
FeltConstantOpGenericAdaptor< RangeT > GenericAdaptor
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llzk::felt::FeltConstAttr getValueAttr()
void setValueAttr(::llzk::felt::FeltConstAttr attr)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::Operation::result_range getODSResults(unsigned index)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::StringAttr getValueAttrName()
::mlir::StringAttr getValueAttrName(::mlir::OperationName name)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
InvFeltOpAdaptor(InvFeltOp op)
InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
InvFeltOpGenericAdaptor(RangeT values, LateInst op)
InvFeltOpGenericAdaptor(RangeT values, const InvFeltOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::TypedValue<::mlir::Type > getOperand()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
InvFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::mlir::OpOperand & getOperandMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
MulFeltOpAdaptor(MulFeltOp op)
MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
MulFeltOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
MulFeltOpGenericAdaptor(RangeT values, const MulFeltOpGenericAdaptorBase &base)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
MulFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NegFeltOpAdaptor(NegFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NegFeltOpGenericAdaptor(RangeT values, LateInst op)
NegFeltOpGenericAdaptor(RangeT values, const NegFeltOpGenericAdaptorBase &base)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getOperand()
::mlir::OpOperand & getOperandMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
NegFeltOpGenericAdaptor< RangeT > GenericAdaptor
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
NotFeltOpAdaptor(NotFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NotFeltOpGenericAdaptor(RangeT values, const NotFeltOpGenericAdaptorBase &base)
NotFeltOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
NotFeltOpGenericAdaptor< RangeT > GenericAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::mlir::TypedValue<::mlir::Type > getOperand()
::llvm::LogicalResult verifyInvariants()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getOperandMutable()
OrFeltOpAdaptor(OrFeltOp op)
OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
OrFeltOpGenericAdaptor(RangeT values, const OrFeltOpGenericAdaptorBase &base)
OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
OrFeltOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
OrFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariants()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getRhsMutable()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::llvm::LogicalResult verify(::mlir::Location loc)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
PowFeltOpAdaptor(PowFeltOp op)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
PowFeltOpGenericAdaptor(RangeT values, LateInst op)
PowFeltOpGenericAdaptor(RangeT values, const PowFeltOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
PowFeltOpGenericAdaptor< RangeT > GenericAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ShlFeltOpAdaptor(ShlFeltOp op)
ShlFeltOpGenericAdaptor(RangeT values, const ShlFeltOpGenericAdaptorBase &base)
ShlFeltOpGenericAdaptor(RangeT values, LateInst op)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
ShlFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
ShrFeltOpAdaptor(ShrFeltOp op)
ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
ShrFeltOpGenericAdaptor(RangeT values, LateInst op)
ShrFeltOpGenericAdaptor(RangeT values, const ShrFeltOpGenericAdaptorBase &base)
ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
ShrFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verify(::mlir::Location loc)
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedIntDivFeltOpAdaptor(SignedIntDivFeltOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SignedIntDivFeltOpGenericAdaptor(RangeT values, const SignedIntDivFeltOpGenericAdaptorBase &base)
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
SignedIntDivFeltOpGenericAdaptor(RangeT values, LateInst op)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
SignedIntDivFeltOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifyInvariants()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
SignedIntDivFeltOpAdaptor Adaptor
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
SignedModFeltOpAdaptor(SignedModFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, const SignedModFeltOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SignedModFeltOpGenericAdaptor(RangeT values, LateInst op)
SignedModFeltOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
SignedModFeltOpAdaptor Adaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
SubFeltOpAdaptor(SubFeltOp op)
SubFeltOpGenericAdaptor(RangeT values, LateInst op)
SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SubFeltOpGenericAdaptor(RangeT values, const SubFeltOpGenericAdaptorBase &base)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::mlir::Type > getRhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
SubFeltOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedIntDivFeltOpAdaptor(UnsignedIntDivFeltOp op)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, LateInst op)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, const UnsignedIntDivFeltOpGenericAdaptorBase &base)
UnsignedIntDivFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getRhsMutable()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
UnsignedIntDivFeltOpAdaptor Adaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
UnsignedModFeltOpAdaptor(UnsignedModFeltOp op)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
UnsignedModFeltOpGenericAdaptor(RangeT values, LateInst op)
UnsignedModFeltOpGenericAdaptor(RangeT values, const UnsignedModFeltOpGenericAdaptorBase &base)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
UnsignedModFeltOpAdaptor Adaptor
::llvm::LogicalResult verifyInvariantsImpl()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
XorFeltOpAdaptor(XorFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
XorFeltOpGenericAdaptor(RangeT values, LateInst op)
XorFeltOpGenericAdaptor(RangeT values, const XorFeltOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
XorFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
AddFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
AddFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
AndFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
AndFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
DivFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
DivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::llzk::felt::FeltConstAttr getValueAttr()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
FeltConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
const Properties & getProperties()
InvFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
InvFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
MulFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
MulFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
NegFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
NegFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
NotFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
NotFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
OrFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
OrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
PowFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
PowFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
ShlFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
ShlFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ShrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
ShrFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
SignedIntDivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedIntDivFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
SignedModFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
SignedModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
SubFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
SubFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
UnsignedIntDivFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
UnsignedIntDivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
UnsignedModFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
UnsignedModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
XorFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
XorFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
bool operator!=(const Properties &rhs) const
::llzk::felt::FeltConstAttr valueTy
void setValue(const ::llzk::felt::FeltConstAttr &propValue)
bool operator==(const Properties &rhs) const