119template <
typename RangeT>
121 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
124 AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
130 template <
typename LateInst = AddFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AddFeltOp>>>
139 return {std::next(odsOperands.begin(), valueRange.first),
140 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
163 ::llvm::LogicalResult
verify(::mlir::Location loc);
165class 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, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
170 template <
typename RangeT>
178 return ::llvm::StringLiteral(
"felt.add");
187 return {std::next(getOperation()->operand_begin(), valueRange.first),
188 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
191 ::mlir::TypedValue<::mlir::Type>
getLhs() {
192 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
195 ::mlir::TypedValue<::mlir::Type>
getRhs() {
196 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
201 return getOperation()->getOpOperand(range.first);
206 return getOperation()->getOpOperand(range.first);
215 return {std::next(getOperation()->result_begin(), valueRange.first),
216 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
219 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
220 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
223 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
224 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
225 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
226 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
227 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
230 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);
231 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
232 void print(::mlir::OpAsmPrinter &_odsPrinter);
233 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
236 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
238 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
241 if (parser.parseCustomTypeWithFallback(type)) {
242 return mlir::failure();
250 return mlir::success();
254 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
256 printer << (isFirst ?
" : " :
", ");
257 printer.printStrippedAttrOrType(opType);
295template <
typename RangeT>
297 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
300 AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
306 template <
typename LateInst = AndFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndFeltOp>>>
315 return {std::next(odsOperands.begin(), valueRange.first),
316 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
339 ::llvm::LogicalResult
verify(::mlir::Location loc);
341class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
346 template <
typename RangeT>
354 return ::llvm::StringLiteral(
"felt.bit_and");
363 return {std::next(getOperation()->operand_begin(), valueRange.first),
364 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
367 ::mlir::TypedValue<::mlir::Type>
getLhs() {
368 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
371 ::mlir::TypedValue<::mlir::Type>
getRhs() {
372 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
377 return getOperation()->getOpOperand(range.first);
382 return getOperation()->getOpOperand(range.first);
391 return {std::next(getOperation()->result_begin(), valueRange.first),
392 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
395 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
396 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
399 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
400 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
401 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
402 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
403 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
406 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);
407 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
408 void print(::mlir::OpAsmPrinter &_odsPrinter);
409 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
412 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
414 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
417 if (parser.parseCustomTypeWithFallback(type)) {
418 return mlir::failure();
426 return mlir::success();
430 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
432 printer << (isFirst ?
" : " :
", ");
433 printer.printStrippedAttrOrType(opType);
471template <
typename RangeT>
473 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
476 DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
482 template <
typename LateInst = DivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DivFeltOp>>>
491 return {std::next(odsOperands.begin(), valueRange.first),
492 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
515 ::llvm::LogicalResult
verify(::mlir::Location loc);
517class 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, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
522 template <
typename RangeT>
530 return ::llvm::StringLiteral(
"felt.div");
539 return {std::next(getOperation()->operand_begin(), valueRange.first),
540 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
543 ::mlir::TypedValue<::mlir::Type>
getLhs() {
544 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
547 ::mlir::TypedValue<::mlir::Type>
getRhs() {
548 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
553 return getOperation()->getOpOperand(range.first);
558 return getOperation()->getOpOperand(range.first);
567 return {std::next(getOperation()->result_begin(), valueRange.first),
568 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
571 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
572 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
575 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
576 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
577 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
578 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
579 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
582 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);
583 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
584 void print(::mlir::OpAsmPrinter &_odsPrinter);
585 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
588 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
590 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
593 if (parser.parseCustomTypeWithFallback(type)) {
594 return mlir::failure();
602 return mlir::success();
606 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
608 printer << (isFirst ?
" : " :
", ");
609 printer.printStrippedAttrOrType(opType);
631 auto &propStorage = this->value;
632 return ::llvm::cast<::llzk::felt::FeltConstAttr>(propStorage);
634 void setValue(const ::llzk::felt::FeltConstAttr &propValue) {
635 this->value = propValue;
639 rhs.
value == this->value &&
643 return !(*
this == rhs);
671 auto attr = ::llvm::cast<::llzk::felt::FeltConstAttr>(
getProperties().value);
678template <
typename RangeT>
680 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
691 template <
typename LateInst = FeltConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FeltConstantOp>>>
700 return {std::next(odsOperands.begin(), valueRange.first),
701 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
716 ::llvm::LogicalResult
verify(::mlir::Location loc);
718class 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> {
723 template <
typename RangeT>
728 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
729 return ::llvm::ArrayRef(attrNames);
733 return getAttributeNameForIndex(0);
737 return getAttributeNameForIndex(
name, 0);
741 return ::llvm::StringLiteral(
"felt.const");
750 return {std::next(getOperation()->operand_begin(), valueRange.first),
751 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
760 return {std::next(getOperation()->result_begin(), valueRange.first),
761 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
764 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
765 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
768 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
774 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
775 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
778 return ::llvm::cast<::llzk::felt::FeltConstAttr>(getProperties().value);
783 getProperties().value = attr;
786 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value);
787 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::felt::FeltConstAttr value);
788 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::felt::FeltConstAttr value);
789 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
790 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
794 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);
796 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
797 void print(::mlir::OpAsmPrinter &_odsPrinter);
798 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
800 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
801 return getAttributeNameForIndex((*this)->getName(), index);
804 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
805 assert(index < 1 &&
"invalid attribute index");
807 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
808 "dependent dialect loading?");
809 return name.getAttributeNames()[index];
849template <
typename RangeT>
851 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
854 FeltNonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
860 template <
typename LateInst = FeltNonDetOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FeltNonDetOp>>>
869 return {std::next(odsOperands.begin(), valueRange.first),
870 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
885 ::llvm::LogicalResult
verify(::mlir::Location loc);
887class FeltNonDetOp :
public ::mlir::Op<FeltNonDetOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::felt::FeltType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::ConstantLike, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
892 template <
typename RangeT>
900 return ::llvm::StringLiteral(
"felt.nondet");
909 return {std::next(getOperation()->operand_begin(), valueRange.first),
910 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
919 return {std::next(getOperation()->result_begin(), valueRange.first),
920 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
923 ::mlir::TypedValue<::llzk::felt::FeltType>
getResult() {
924 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
927 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result);
928 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState);
929 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes);
930 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
931 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
934 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);
936 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
937 void print(::mlir::OpAsmPrinter &_odsPrinter);
938 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
976template <
typename RangeT>
978 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
981 InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
987 template <
typename LateInst = InvFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, InvFeltOp>>>
996 return {std::next(odsOperands.begin(), valueRange.first),
997 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1016 ::llvm::LogicalResult
verify(::mlir::Location loc);
1018class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1023 template <
typename RangeT>
1031 return ::llvm::StringLiteral(
"felt.inv");
1040 return {std::next(getOperation()->operand_begin(), valueRange.first),
1041 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1045 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1050 return getOperation()->getOpOperand(range.first);
1059 return {std::next(getOperation()->result_begin(), valueRange.first),
1060 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1064 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1067 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1068 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1069 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1070 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1071 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1074 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);
1075 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1076 void print(::mlir::OpAsmPrinter &_odsPrinter);
1077 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1080 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1082 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1085 if (parser.parseCustomTypeWithFallback(type)) {
1086 return mlir::failure();
1094 return mlir::success();
1098 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1100 printer << (isFirst ?
" : " :
", ");
1101 printer.printStrippedAttrOrType(opType);
1139template <
typename RangeT>
1141 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1144 ModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1150 template <
typename LateInst = ModFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ModFeltOp>>>
1159 return {std::next(odsOperands.begin(), valueRange.first),
1160 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1183 ::llvm::LogicalResult
verify(::mlir::Location loc);
1185class ModFeltOp :
public ::mlir::Op<ModFeltOp, ::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::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1190 template <
typename RangeT>
1198 return ::llvm::StringLiteral(
"felt.mod");
1207 return {std::next(getOperation()->operand_begin(), valueRange.first),
1208 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1212 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1216 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1221 return getOperation()->getOpOperand(range.first);
1226 return getOperation()->getOpOperand(range.first);
1235 return {std::next(getOperation()->result_begin(), valueRange.first),
1236 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1240 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1243 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1244 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1245 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1246 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1247 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1250 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);
1251 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1252 void print(::mlir::OpAsmPrinter &_odsPrinter);
1253 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1256 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1258 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1261 if (parser.parseCustomTypeWithFallback(type)) {
1262 return mlir::failure();
1270 return mlir::success();
1274 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1276 printer << (isFirst ?
" : " :
", ");
1277 printer.printStrippedAttrOrType(opType);
1315template <
typename RangeT>
1317 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1320 MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1326 template <
typename LateInst = MulFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, MulFeltOp>>>
1335 return {std::next(odsOperands.begin(), valueRange.first),
1336 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1359 ::llvm::LogicalResult
verify(::mlir::Location loc);
1361class 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, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1366 template <
typename RangeT>
1374 return ::llvm::StringLiteral(
"felt.mul");
1383 return {std::next(getOperation()->operand_begin(), valueRange.first),
1384 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1388 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1392 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1397 return getOperation()->getOpOperand(range.first);
1402 return getOperation()->getOpOperand(range.first);
1411 return {std::next(getOperation()->result_begin(), valueRange.first),
1412 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1416 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1419 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1420 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1421 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1422 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1423 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1426 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);
1427 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1428 void print(::mlir::OpAsmPrinter &_odsPrinter);
1429 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1432 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1434 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1437 if (parser.parseCustomTypeWithFallback(type)) {
1438 return mlir::failure();
1446 return mlir::success();
1450 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1452 printer << (isFirst ?
" : " :
", ");
1453 printer.printStrippedAttrOrType(opType);
1491template <
typename RangeT>
1493 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1496 NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1502 template <
typename LateInst = NegFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NegFeltOp>>>
1511 return {std::next(odsOperands.begin(), valueRange.first),
1512 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1531 ::llvm::LogicalResult
verify(::mlir::Location loc);
1533class 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> {
1538 template <
typename RangeT>
1546 return ::llvm::StringLiteral(
"felt.neg");
1555 return {std::next(getOperation()->operand_begin(), valueRange.first),
1556 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1560 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1565 return getOperation()->getOpOperand(range.first);
1574 return {std::next(getOperation()->result_begin(), valueRange.first),
1575 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1579 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1582 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1583 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1584 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1585 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1586 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1589 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);
1590 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1591 void print(::mlir::OpAsmPrinter &_odsPrinter);
1592 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1595 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1597 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1600 if (parser.parseCustomTypeWithFallback(type)) {
1601 return mlir::failure();
1609 return mlir::success();
1613 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1615 printer << (isFirst ?
" : " :
", ");
1616 printer.printStrippedAttrOrType(opType);
1654template <
typename RangeT>
1656 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1659 NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1665 template <
typename LateInst = NotFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotFeltOp>>>
1674 return {std::next(odsOperands.begin(), valueRange.first),
1675 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1694 ::llvm::LogicalResult
verify(::mlir::Location loc);
1696class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1701 template <
typename RangeT>
1709 return ::llvm::StringLiteral(
"felt.bit_not");
1718 return {std::next(getOperation()->operand_begin(), valueRange.first),
1719 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1723 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1728 return getOperation()->getOpOperand(range.first);
1737 return {std::next(getOperation()->result_begin(), valueRange.first),
1738 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1742 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1745 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1746 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1747 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1748 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1749 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1752 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);
1753 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1754 void print(::mlir::OpAsmPrinter &_odsPrinter);
1755 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1758 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1760 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1763 if (parser.parseCustomTypeWithFallback(type)) {
1764 return mlir::failure();
1772 return mlir::success();
1776 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1778 printer << (isFirst ?
" : " :
", ");
1779 printer.printStrippedAttrOrType(opType);
1817template <
typename RangeT>
1819 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1822 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1824 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrFeltOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1828 template <
typename LateInst = OrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrFeltOp>>>
1837 return {std::next(odsOperands.begin(), valueRange.first),
1838 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1861 ::llvm::LogicalResult
verify(::mlir::Location loc);
1863class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1868 template <
typename RangeT>
1876 return ::llvm::StringLiteral(
"felt.bit_or");
1885 return {std::next(getOperation()->operand_begin(), valueRange.first),
1886 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1890 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1894 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1899 return getOperation()->getOpOperand(range.first);
1904 return getOperation()->getOpOperand(range.first);
1913 return {std::next(getOperation()->result_begin(), valueRange.first),
1914 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1918 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
1921 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1922 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1923 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1924 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1925 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1928 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);
1929 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1930 void print(::mlir::OpAsmPrinter &_odsPrinter);
1931 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1934 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1936 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1939 if (parser.parseCustomTypeWithFallback(type)) {
1940 return mlir::failure();
1948 return mlir::success();
1952 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1954 printer << (isFirst ?
" : " :
", ");
1955 printer.printStrippedAttrOrType(opType);
1993template <
typename RangeT>
1995 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1998 ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2004 template <
typename LateInst = ShlFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShlFeltOp>>>
2013 return {std::next(odsOperands.begin(), valueRange.first),
2014 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2037 ::llvm::LogicalResult
verify(::mlir::Location loc);
2039class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2044 template <
typename RangeT>
2052 return ::llvm::StringLiteral(
"felt.shl");
2061 return {std::next(getOperation()->operand_begin(), valueRange.first),
2062 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2066 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2070 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2075 return getOperation()->getOpOperand(range.first);
2080 return getOperation()->getOpOperand(range.first);
2089 return {std::next(getOperation()->result_begin(), valueRange.first),
2090 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2094 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2097 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2098 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2099 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2100 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2101 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2104 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);
2105 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2106 void print(::mlir::OpAsmPrinter &_odsPrinter);
2107 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2110 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2112 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2115 if (parser.parseCustomTypeWithFallback(type)) {
2116 return mlir::failure();
2124 return mlir::success();
2128 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2130 printer << (isFirst ?
" : " :
", ");
2131 printer.printStrippedAttrOrType(opType);
2169template <
typename RangeT>
2171 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2174 ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2180 template <
typename LateInst = ShrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShrFeltOp>>>
2189 return {std::next(odsOperands.begin(), valueRange.first),
2190 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2213 ::llvm::LogicalResult
verify(::mlir::Location loc);
2215class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2220 template <
typename RangeT>
2228 return ::llvm::StringLiteral(
"felt.shr");
2237 return {std::next(getOperation()->operand_begin(), valueRange.first),
2238 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2242 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2246 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2251 return getOperation()->getOpOperand(range.first);
2256 return getOperation()->getOpOperand(range.first);
2265 return {std::next(getOperation()->result_begin(), valueRange.first),
2266 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2270 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2273 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2274 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2275 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2276 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2277 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2280 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);
2281 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2282 void print(::mlir::OpAsmPrinter &_odsPrinter);
2283 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2286 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2288 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2291 if (parser.parseCustomTypeWithFallback(type)) {
2292 return mlir::failure();
2300 return mlir::success();
2304 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2306 printer << (isFirst ?
" : " :
", ");
2307 printer.printStrippedAttrOrType(opType);
2345template <
typename RangeT>
2347 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2350 SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2356 template <
typename LateInst = SubFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SubFeltOp>>>
2365 return {std::next(odsOperands.begin(), valueRange.first),
2366 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2389 ::llvm::LogicalResult
verify(::mlir::Location loc);
2391class 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, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2396 template <
typename RangeT>
2404 return ::llvm::StringLiteral(
"felt.sub");
2413 return {std::next(getOperation()->operand_begin(), valueRange.first),
2414 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2418 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2422 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2427 return getOperation()->getOpOperand(range.first);
2432 return getOperation()->getOpOperand(range.first);
2441 return {std::next(getOperation()->result_begin(), valueRange.first),
2442 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2446 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2449 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2450 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2451 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2452 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2453 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2456 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);
2457 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2458 void print(::mlir::OpAsmPrinter &_odsPrinter);
2459 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2462 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2464 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2467 if (parser.parseCustomTypeWithFallback(type)) {
2468 return mlir::failure();
2476 return mlir::success();
2480 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2482 printer << (isFirst ?
" : " :
", ");
2483 printer.printStrippedAttrOrType(opType);
2521template <
typename RangeT>
2523 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2526 XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2532 template <
typename LateInst = XorFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XorFeltOp>>>
2541 return {std::next(odsOperands.begin(), valueRange.first),
2542 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2565 ::llvm::LogicalResult
verify(::mlir::Location loc);
2567class 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::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
2572 template <
typename RangeT>
2580 return ::llvm::StringLiteral(
"felt.bit_xor");
2589 return {std::next(getOperation()->operand_begin(), valueRange.first),
2590 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2594 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2598 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2603 return getOperation()->getOpOperand(range.first);
2608 return getOperation()->getOpOperand(range.first);
2617 return {std::next(getOperation()->result_begin(), valueRange.first),
2618 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2622 return ::llvm::cast<::mlir::TypedValue<::llzk::felt::FeltType>>(*
getODSResults(0).begin());
2625 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2626 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2627 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2628 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2629 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2632 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);
2633 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2634 void print(::mlir::OpAsmPrinter &_odsPrinter);
2635 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2638 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2640 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2643 if (parser.parseCustomTypeWithFallback(type)) {
2644 return mlir::failure();
2652 return mlir::success();
2656 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2658 printer << (isFirst ?
" : " :
", ");
2659 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()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
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)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::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)
::llvm::LogicalResult verify(::mlir::Location loc)
FeltNonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
FeltNonDetOpAdaptor(FeltNonDetOp op)
FeltNonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
FeltNonDetOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
FeltNonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
FeltNonDetOpGenericAdaptor(RangeT values, const FeltNonDetOpGenericAdaptorBase &base)
::mlir::Operation::operand_range getODSOperands(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
FeltNonDetOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
FeltNonDetOpAdaptor Adaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
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)
::llvm::LogicalResult verifyInvariants()
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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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)
ModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ModFeltOpAdaptor(ModFeltOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ModFeltOpGenericAdaptor(RangeT values, LateInst op)
ModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
ModFeltOpGenericAdaptor(RangeT values, const ModFeltOpGenericAdaptorBase &base)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getLhsMutable()
::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)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::OpOperand & getRhsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
ModFeltOpGenericAdaptor< RangeT > GenericAdaptor
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::llvm::LogicalResult verifyInvariants()
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
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::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
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()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
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
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
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::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
::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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::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)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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 parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::llzk::felt::FeltType > getResult()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
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()
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
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()
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
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
::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser, ::mlir::Type &opType, bool isFirst)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer, ::mlir::Operation *op, ::mlir::Type opType, bool isFirst)
::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()
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
FeltNonDetOpGenericAdaptorBase(::mlir::Operation *op)
FeltNonDetOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
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)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
ModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
ModFeltOpGenericAdaptorBase(::mlir::Operation *op)
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::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
::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)
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