134template <
typename RangeT>
136 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
139 AddFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
145 template <
typename LateInst = AddFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AddFeltOp>>>
154 return {std::next(odsOperands.begin(), valueRange.first),
155 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
178 ::llvm::LogicalResult
verify(::mlir::Location loc);
180class AddFeltOp :
public ::mlir::Op<AddFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
185 template <
typename RangeT>
193 return ::llvm::StringLiteral(
"felt.add");
202 return {std::next(getOperation()->operand_begin(), valueRange.first),
203 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
206 ::mlir::TypedValue<::mlir::Type>
getLhs() {
207 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
210 ::mlir::TypedValue<::mlir::Type>
getRhs() {
211 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
216 return getOperation()->getOpOperand(range.first);
221 return getOperation()->getOpOperand(range.first);
230 return {std::next(getOperation()->result_begin(), valueRange.first),
231 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
235 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
238 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
239 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
240 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
241 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
242 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
246 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);
247 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
248 void print(::mlir::OpAsmPrinter &_odsPrinter);
249 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
251 static ::llvm::LogicalResult
253 std::optional<::mlir::Location> location,
255 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
261 static ::mlir::ParseResult parseInferredOrParsedType(
262 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
264 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
267 if (parser.parseCustomTypeWithFallback(type)) {
268 return mlir::failure();
276 return mlir::success();
279 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
280 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
282 printer << (isFirst ?
" : " :
", ");
283 printer.printStrippedAttrOrType(opType);
321template <
typename RangeT>
323 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
326 AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
332 template <
typename LateInst = AndFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndFeltOp>>>
341 return {std::next(odsOperands.begin(), valueRange.first),
342 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
365 ::llvm::LogicalResult
verify(::mlir::Location loc);
367class AndFeltOp :
public ::mlir::Op<AndFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
372 template <
typename RangeT>
380 return ::llvm::StringLiteral(
"felt.bit_and");
389 return {std::next(getOperation()->operand_begin(), valueRange.first),
390 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
393 ::mlir::TypedValue<::mlir::Type>
getLhs() {
394 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
397 ::mlir::TypedValue<::mlir::Type>
getRhs() {
398 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
403 return getOperation()->getOpOperand(range.first);
408 return getOperation()->getOpOperand(range.first);
417 return {std::next(getOperation()->result_begin(), valueRange.first),
418 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
422 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
425 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
426 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
427 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
428 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
429 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
433 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);
434 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
435 void print(::mlir::OpAsmPrinter &_odsPrinter);
436 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
438 static ::llvm::LogicalResult
440 std::optional<::mlir::Location> location,
442 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
448 static ::mlir::ParseResult parseInferredOrParsedType(
449 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
451 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
454 if (parser.parseCustomTypeWithFallback(type)) {
455 return mlir::failure();
463 return mlir::success();
466 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
467 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
469 printer << (isFirst ?
" : " :
", ");
470 printer.printStrippedAttrOrType(opType);
508template <
typename RangeT>
510 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
513 DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
519 template <
typename LateInst = DivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DivFeltOp>>>
528 return {std::next(odsOperands.begin(), valueRange.first),
529 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
552 ::llvm::LogicalResult
verify(::mlir::Location loc);
554class DivFeltOp :
public ::mlir::Op<DivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
559 template <
typename RangeT>
567 return ::llvm::StringLiteral(
"felt.div");
576 return {std::next(getOperation()->operand_begin(), valueRange.first),
577 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
580 ::mlir::TypedValue<::mlir::Type>
getLhs() {
581 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
584 ::mlir::TypedValue<::mlir::Type>
getRhs() {
585 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
590 return getOperation()->getOpOperand(range.first);
595 return getOperation()->getOpOperand(range.first);
604 return {std::next(getOperation()->result_begin(), valueRange.first),
605 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
609 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
612 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
613 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
614 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
615 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
616 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
620 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);
621 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
622 void print(::mlir::OpAsmPrinter &_odsPrinter);
623 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
625 static ::llvm::LogicalResult
627 std::optional<::mlir::Location> location,
629 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
635 static ::mlir::ParseResult parseInferredOrParsedType(
636 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
638 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
641 if (parser.parseCustomTypeWithFallback(type)) {
642 return mlir::failure();
650 return mlir::success();
653 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
654 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
656 printer << (isFirst ?
" : " :
", ");
657 printer.printStrippedAttrOrType(opType);
679 auto &propStorage = this->value;
680 return ::llvm::cast<::llzk::felt::FeltConstAttr>(propStorage);
682 void setValue(const ::llzk::felt::FeltConstAttr &propValue) {
683 this->value = propValue;
687 rhs.
value == this->value &&
691 return !(*
this == rhs);
719 auto attr = ::llvm::cast<::llzk::felt::FeltConstAttr>(
getProperties().value);
723 ::llzk::felt::FeltConstAttr
getValue();
726template <
typename RangeT>
728 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
739 template <
typename LateInst = FeltConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FeltConstantOp>>>
748 return {std::next(odsOperands.begin(), valueRange.first),
749 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
764 ::llvm::LogicalResult
verify(::mlir::Location loc);
766class FeltConstantOp :
public ::mlir::Op<FeltConstantOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::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, ::mlir::OpTrait::InferTypeOpAdaptor> {
771 template <
typename RangeT>
776 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
777 return ::llvm::ArrayRef(attrNames);
781 return getAttributeNameForIndex(0);
785 return getAttributeNameForIndex(name, 0);
789 return ::llvm::StringLiteral(
"felt.const");
798 return {std::next(getOperation()->operand_begin(), valueRange.first),
799 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
808 return {std::next(getOperation()->result_begin(), valueRange.first),
809 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
813 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
816 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
819 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
822 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
823 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
826 return ::llvm::cast<::llzk::felt::FeltConstAttr>(getProperties().value);
829 ::llzk::felt::FeltConstAttr
getValue();
831 getProperties().value = attr;
834 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::felt::FeltConstAttr value);
835 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::felt::FeltConstAttr value);
836 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::felt::FeltConstAttr value);
837 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
838 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
843 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);
844 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
845 void print(::mlir::OpAsmPrinter &_odsPrinter);
846 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
848 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
849 return getAttributeNameForIndex((*this)->getName(), index);
852 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
853 assert(index < 1 &&
"invalid attribute index");
854 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
855 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
856 "dependent dialect loading?");
857 return name.getAttributeNames()[index];
861 static ::llvm::LogicalResult
863 std::optional<::mlir::Location> location,
865 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
909template <
typename RangeT>
911 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
914 InvFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
920 template <
typename LateInst = InvFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, InvFeltOp>>>
929 return {std::next(odsOperands.begin(), valueRange.first),
930 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
949 ::llvm::LogicalResult
verify(::mlir::Location loc);
951class InvFeltOp :
public ::mlir::Op<InvFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
956 template <
typename RangeT>
964 return ::llvm::StringLiteral(
"felt.inv");
973 return {std::next(getOperation()->operand_begin(), valueRange.first),
974 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
978 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
983 return getOperation()->getOpOperand(range.first);
992 return {std::next(getOperation()->result_begin(), valueRange.first),
993 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
997 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1000 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1001 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1002 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1003 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1004 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1008 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);
1009 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1010 void print(::mlir::OpAsmPrinter &_odsPrinter);
1011 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1013 static ::llvm::LogicalResult
1015 std::optional<::mlir::Location> location,
1017 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1023 static ::mlir::ParseResult parseInferredOrParsedType(
1024 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1026 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1029 if (parser.parseCustomTypeWithFallback(type)) {
1030 return mlir::failure();
1038 return mlir::success();
1041 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1042 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1044 printer << (isFirst ?
" : " :
", ");
1045 printer.printStrippedAttrOrType(opType);
1083template <
typename RangeT>
1085 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1088 MulFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1094 template <
typename LateInst = MulFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, MulFeltOp>>>
1103 return {std::next(odsOperands.begin(), valueRange.first),
1104 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1127 ::llvm::LogicalResult
verify(::mlir::Location loc);
1129class MulFeltOp :
public ::mlir::Op<MulFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
1134 template <
typename RangeT>
1142 return ::llvm::StringLiteral(
"felt.mul");
1151 return {std::next(getOperation()->operand_begin(), valueRange.first),
1152 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1156 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1160 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1165 return getOperation()->getOpOperand(range.first);
1170 return getOperation()->getOpOperand(range.first);
1179 return {std::next(getOperation()->result_begin(), valueRange.first),
1180 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1184 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1187 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1188 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1189 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1190 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1191 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1195 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);
1196 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1197 void print(::mlir::OpAsmPrinter &_odsPrinter);
1198 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1200 static ::llvm::LogicalResult
1202 std::optional<::mlir::Location> location,
1204 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1210 static ::mlir::ParseResult parseInferredOrParsedType(
1211 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1213 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1216 if (parser.parseCustomTypeWithFallback(type)) {
1217 return mlir::failure();
1225 return mlir::success();
1228 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1229 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1231 printer << (isFirst ?
" : " :
", ");
1232 printer.printStrippedAttrOrType(opType);
1270template <
typename RangeT>
1272 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1275 NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1281 template <
typename LateInst = NegFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NegFeltOp>>>
1290 return {std::next(odsOperands.begin(), valueRange.first),
1291 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1310 ::llvm::LogicalResult
verify(::mlir::Location loc);
1312class NegFeltOp :
public ::mlir::Op<NegFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
1317 template <
typename RangeT>
1325 return ::llvm::StringLiteral(
"felt.neg");
1334 return {std::next(getOperation()->operand_begin(), valueRange.first),
1335 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1339 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1344 return getOperation()->getOpOperand(range.first);
1353 return {std::next(getOperation()->result_begin(), valueRange.first),
1354 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1358 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1361 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1362 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1363 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1364 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1365 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1369 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);
1370 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1371 void print(::mlir::OpAsmPrinter &_odsPrinter);
1372 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1374 static ::llvm::LogicalResult
1376 std::optional<::mlir::Location> location,
1378 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1384 static ::mlir::ParseResult parseInferredOrParsedType(
1385 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1387 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1390 if (parser.parseCustomTypeWithFallback(type)) {
1391 return mlir::failure();
1399 return mlir::success();
1402 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1403 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1405 printer << (isFirst ?
" : " :
", ");
1406 printer.printStrippedAttrOrType(opType);
1444template <
typename RangeT>
1446 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1449 NotFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1455 template <
typename LateInst = NotFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotFeltOp>>>
1464 return {std::next(odsOperands.begin(), valueRange.first),
1465 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1484 ::llvm::LogicalResult
verify(::mlir::Location loc);
1486class NotFeltOp :
public ::mlir::Op<NotFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
1491 template <
typename RangeT>
1499 return ::llvm::StringLiteral(
"felt.bit_not");
1508 return {std::next(getOperation()->operand_begin(), valueRange.first),
1509 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1513 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1518 return getOperation()->getOpOperand(range.first);
1527 return {std::next(getOperation()->result_begin(), valueRange.first),
1528 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1532 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1535 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand);
1536 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value operand);
1537 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value operand);
1538 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1539 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1543 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);
1544 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1545 void print(::mlir::OpAsmPrinter &_odsPrinter);
1546 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1548 static ::llvm::LogicalResult
1550 std::optional<::mlir::Location> location,
1552 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1558 static ::mlir::ParseResult parseInferredOrParsedType(
1559 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1561 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1564 if (parser.parseCustomTypeWithFallback(type)) {
1565 return mlir::failure();
1573 return mlir::success();
1576 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1577 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1579 printer << (isFirst ?
" : " :
", ");
1580 printer.printStrippedAttrOrType(opType);
1618template <
typename RangeT>
1620 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1623 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1625 OrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrFeltOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1629 template <
typename LateInst = OrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrFeltOp>>>
1638 return {std::next(odsOperands.begin(), valueRange.first),
1639 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1662 ::llvm::LogicalResult
verify(::mlir::Location loc);
1664class OrFeltOp :
public ::mlir::Op<OrFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
1669 template <
typename RangeT>
1677 return ::llvm::StringLiteral(
"felt.bit_or");
1686 return {std::next(getOperation()->operand_begin(), valueRange.first),
1687 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1691 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1695 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1700 return getOperation()->getOpOperand(range.first);
1705 return getOperation()->getOpOperand(range.first);
1714 return {std::next(getOperation()->result_begin(), valueRange.first),
1715 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1719 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1722 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1723 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1724 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1725 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1726 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1730 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);
1731 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1732 void print(::mlir::OpAsmPrinter &_odsPrinter);
1733 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1735 static ::llvm::LogicalResult
1737 std::optional<::mlir::Location> location,
1739 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1745 static ::mlir::ParseResult parseInferredOrParsedType(
1746 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1748 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1751 if (parser.parseCustomTypeWithFallback(type)) {
1752 return mlir::failure();
1760 return mlir::success();
1763 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1764 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1766 printer << (isFirst ?
" : " :
", ");
1767 printer.printStrippedAttrOrType(opType);
1805template <
typename RangeT>
1807 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1810 PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1816 template <
typename LateInst = PowFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PowFeltOp>>>
1825 return {std::next(odsOperands.begin(), valueRange.first),
1826 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1849 ::llvm::LogicalResult
verify(::mlir::Location loc);
1851class PowFeltOp :
public ::mlir::Op<PowFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
1856 template <
typename RangeT>
1864 return ::llvm::StringLiteral(
"felt.pow");
1873 return {std::next(getOperation()->operand_begin(), valueRange.first),
1874 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1878 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
1882 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
1887 return getOperation()->getOpOperand(range.first);
1892 return getOperation()->getOpOperand(range.first);
1901 return {std::next(getOperation()->result_begin(), valueRange.first),
1902 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1906 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
1909 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1910 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1911 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1912 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1913 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1917 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);
1918 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1919 void print(::mlir::OpAsmPrinter &_odsPrinter);
1920 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1922 static ::llvm::LogicalResult
1924 std::optional<::mlir::Location> location,
1926 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
1932 static ::mlir::ParseResult parseInferredOrParsedType(
1933 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
1935 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
1938 if (parser.parseCustomTypeWithFallback(type)) {
1939 return mlir::failure();
1947 return mlir::success();
1950 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
1951 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
1953 printer << (isFirst ?
" : " :
", ");
1954 printer.printStrippedAttrOrType(opType);
1992template <
typename RangeT>
1994 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1997 ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2003 template <
typename LateInst = ShlFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShlFeltOp>>>
2012 return {std::next(odsOperands.begin(), valueRange.first),
2013 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2036 ::llvm::LogicalResult
verify(::mlir::Location loc);
2038class ShlFeltOp :
public ::mlir::Op<ShlFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2043 template <
typename RangeT>
2051 return ::llvm::StringLiteral(
"felt.shl");
2060 return {std::next(getOperation()->operand_begin(), valueRange.first),
2061 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2065 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2069 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2074 return getOperation()->getOpOperand(range.first);
2079 return getOperation()->getOpOperand(range.first);
2088 return {std::next(getOperation()->result_begin(), valueRange.first),
2089 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2093 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
2096 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2097 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2098 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2099 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2100 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);
2109 static ::llvm::LogicalResult
2111 std::optional<::mlir::Location> location,
2113 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
2119 static ::mlir::ParseResult parseInferredOrParsedType(
2120 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2122 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2125 if (parser.parseCustomTypeWithFallback(type)) {
2126 return mlir::failure();
2134 return mlir::success();
2137 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2138 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2140 printer << (isFirst ?
" : " :
", ");
2141 printer.printStrippedAttrOrType(opType);
2179template <
typename RangeT>
2181 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2184 ShrFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2190 template <
typename LateInst = ShrFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ShrFeltOp>>>
2199 return {std::next(odsOperands.begin(), valueRange.first),
2200 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2223 ::llvm::LogicalResult
verify(::mlir::Location loc);
2225class ShrFeltOp :
public ::mlir::Op<ShrFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2230 template <
typename RangeT>
2238 return ::llvm::StringLiteral(
"felt.shr");
2247 return {std::next(getOperation()->operand_begin(), valueRange.first),
2248 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2252 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2256 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2261 return getOperation()->getOpOperand(range.first);
2266 return getOperation()->getOpOperand(range.first);
2275 return {std::next(getOperation()->result_begin(), valueRange.first),
2276 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2280 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
2283 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2284 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2285 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2286 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2287 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2291 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);
2292 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2293 void print(::mlir::OpAsmPrinter &_odsPrinter);
2294 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2296 static ::llvm::LogicalResult
2298 std::optional<::mlir::Location> location,
2300 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
2306 static ::mlir::ParseResult parseInferredOrParsedType(
2307 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2309 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2312 if (parser.parseCustomTypeWithFallback(type)) {
2313 return mlir::failure();
2321 return mlir::success();
2324 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2325 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2327 printer << (isFirst ?
" : " :
", ");
2328 printer.printStrippedAttrOrType(opType);
2366template <
typename RangeT>
2368 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2371 SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2377 template <
typename LateInst = SignedIntDivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SignedIntDivFeltOp>>>
2386 return {std::next(odsOperands.begin(), valueRange.first),
2387 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2410 ::llvm::LogicalResult
verify(::mlir::Location loc);
2412class SignedIntDivFeltOp :
public ::mlir::Op<SignedIntDivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2417 template <
typename RangeT>
2425 return ::llvm::StringLiteral(
"felt.sintdiv");
2434 return {std::next(getOperation()->operand_begin(), valueRange.first),
2435 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2439 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2443 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2448 return getOperation()->getOpOperand(range.first);
2453 return getOperation()->getOpOperand(range.first);
2462 return {std::next(getOperation()->result_begin(), valueRange.first),
2463 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2467 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
2470 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2471 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2472 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2473 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2474 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2478 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);
2479 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2480 void print(::mlir::OpAsmPrinter &_odsPrinter);
2481 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2483 static ::llvm::LogicalResult
2485 std::optional<::mlir::Location> location,
2487 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
2493 static ::mlir::ParseResult parseInferredOrParsedType(
2494 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2496 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2499 if (parser.parseCustomTypeWithFallback(type)) {
2500 return mlir::failure();
2508 return mlir::success();
2511 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2512 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2514 printer << (isFirst ?
" : " :
", ");
2515 printer.printStrippedAttrOrType(opType);
2553template <
typename RangeT>
2555 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2558 SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2564 template <
typename LateInst = SignedModFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SignedModFeltOp>>>
2573 return {std::next(odsOperands.begin(), valueRange.first),
2574 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2597 ::llvm::LogicalResult
verify(::mlir::Location loc);
2599class SignedModFeltOp :
public ::mlir::Op<SignedModFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2604 template <
typename RangeT>
2612 return ::llvm::StringLiteral(
"felt.smod");
2621 return {std::next(getOperation()->operand_begin(), valueRange.first),
2622 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2626 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2630 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2635 return getOperation()->getOpOperand(range.first);
2640 return getOperation()->getOpOperand(range.first);
2649 return {std::next(getOperation()->result_begin(), valueRange.first),
2650 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2654 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
2657 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2658 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2659 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2660 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2661 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2665 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);
2666 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2667 void print(::mlir::OpAsmPrinter &_odsPrinter);
2668 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2670 static ::llvm::LogicalResult
2672 std::optional<::mlir::Location> location,
2674 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
2680 static ::mlir::ParseResult parseInferredOrParsedType(
2681 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2683 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2686 if (parser.parseCustomTypeWithFallback(type)) {
2687 return mlir::failure();
2695 return mlir::success();
2698 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2699 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2701 printer << (isFirst ?
" : " :
", ");
2702 printer.printStrippedAttrOrType(opType);
2740template <
typename RangeT>
2742 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2745 SubFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2751 template <
typename LateInst = SubFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SubFeltOp>>>
2760 return {std::next(odsOperands.begin(), valueRange.first),
2761 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2784 ::llvm::LogicalResult
verify(::mlir::Location loc);
2786class SubFeltOp :
public ::mlir::Op<SubFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2791 template <
typename RangeT>
2799 return ::llvm::StringLiteral(
"felt.sub");
2808 return {std::next(getOperation()->operand_begin(), valueRange.first),
2809 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2813 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
2817 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
2822 return getOperation()->getOpOperand(range.first);
2827 return getOperation()->getOpOperand(range.first);
2836 return {std::next(getOperation()->result_begin(), valueRange.first),
2837 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2841 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
2844 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2845 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2846 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2847 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2848 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2852 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);
2853 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2854 void print(::mlir::OpAsmPrinter &_odsPrinter);
2855 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2857 static ::llvm::LogicalResult
2859 std::optional<::mlir::Location> location,
2861 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
2867 static ::mlir::ParseResult parseInferredOrParsedType(
2868 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
2870 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
2873 if (parser.parseCustomTypeWithFallback(type)) {
2874 return mlir::failure();
2882 return mlir::success();
2885 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
2886 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
2888 printer << (isFirst ?
" : " :
", ");
2889 printer.printStrippedAttrOrType(opType);
2927template <
typename RangeT>
2929 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2932 UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2938 template <
typename LateInst = Un
signedIntDivFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Un
signedIntDivFeltOp>>>
2947 return {std::next(odsOperands.begin(), valueRange.first),
2948 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2971 ::llvm::LogicalResult
verify(::mlir::Location loc);
2973class UnsignedIntDivFeltOp :
public ::mlir::Op<UnsignedIntDivFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
2978 template <
typename RangeT>
2986 return ::llvm::StringLiteral(
"felt.uintdiv");
2995 return {std::next(getOperation()->operand_begin(), valueRange.first),
2996 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3000 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
3004 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
3009 return getOperation()->getOpOperand(range.first);
3014 return getOperation()->getOpOperand(range.first);
3023 return {std::next(getOperation()->result_begin(), valueRange.first),
3024 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3028 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
3031 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3032 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3033 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3034 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3035 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3039 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);
3040 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3041 void print(::mlir::OpAsmPrinter &_odsPrinter);
3042 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3044 static ::llvm::LogicalResult
3046 std::optional<::mlir::Location> location,
3048 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
3054 static ::mlir::ParseResult parseInferredOrParsedType(
3055 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
3057 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
3060 if (parser.parseCustomTypeWithFallback(type)) {
3061 return mlir::failure();
3069 return mlir::success();
3072 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
3073 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
3075 printer << (isFirst ?
" : " :
", ");
3076 printer.printStrippedAttrOrType(opType);
3114template <
typename RangeT>
3116 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3119 UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3125 template <
typename LateInst = Un
signedModFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Un
signedModFeltOp>>>
3134 return {std::next(odsOperands.begin(), valueRange.first),
3135 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3158 ::llvm::LogicalResult
verify(::mlir::Location loc);
3160class UnsignedModFeltOp :
public ::mlir::Op<UnsignedModFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
3165 template <
typename RangeT>
3173 return ::llvm::StringLiteral(
"felt.umod");
3182 return {std::next(getOperation()->operand_begin(), valueRange.first),
3183 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3187 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
3191 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
3196 return getOperation()->getOpOperand(range.first);
3201 return getOperation()->getOpOperand(range.first);
3210 return {std::next(getOperation()->result_begin(), valueRange.first),
3211 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3215 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
3218 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3219 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3220 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3221 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3222 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3226 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);
3227 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3228 void print(::mlir::OpAsmPrinter &_odsPrinter);
3229 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3231 static ::llvm::LogicalResult
3233 std::optional<::mlir::Location> location,
3235 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
3241 static ::mlir::ParseResult parseInferredOrParsedType(
3242 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
3244 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
3247 if (parser.parseCustomTypeWithFallback(type)) {
3248 return mlir::failure();
3256 return mlir::success();
3259 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
3260 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
3262 printer << (isFirst ?
" : " :
", ");
3263 printer.printStrippedAttrOrType(opType);
3301template <
typename RangeT>
3303 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3306 XorFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3312 template <
typename LateInst = XorFeltOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XorFeltOp>>>
3321 return {std::next(odsOperands.begin(), valueRange.first),
3322 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3345 ::llvm::LogicalResult
verify(::mlir::Location loc);
3347class XorFeltOp :
public ::mlir::Op<XorFeltOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::NotFieldNative, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::llzk::felt::FeltBinaryOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpTrait::InferTypeOpAdaptor, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
3352 template <
typename RangeT>
3360 return ::llvm::StringLiteral(
"felt.bit_xor");
3369 return {std::next(getOperation()->operand_begin(), valueRange.first),
3370 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3374 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
3378 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
3383 return getOperation()->getOpOperand(range.first);
3388 return getOperation()->getOpOperand(range.first);
3397 return {std::next(getOperation()->result_begin(), valueRange.first),
3398 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3402 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
3405 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3406 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3407 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3408 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3409 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3413 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);
3414 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3415 void print(::mlir::OpAsmPrinter &_odsPrinter);
3416 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3418 static ::llvm::LogicalResult
3420 std::optional<::mlir::Location> location,
3422 ::llvm::SmallVectorImpl<::mlir::Type> &inferredReturnTypes);
3428 static ::mlir::ParseResult parseInferredOrParsedType(
3429 ::mlir::OpAsmParser &parser, ::mlir::Type &opType,
bool isFirst
3431 if (mlir::succeeded(isFirst ? parser.parseOptionalColon() : parser.parseOptionalComma())) {
3434 if (parser.parseCustomTypeWithFallback(type)) {
3435 return mlir::failure();
3443 return mlir::success();
3446 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
3447 ::mlir::Operation *op, ::mlir::Type opType,
bool isFirst
3449 printer << (isFirst ?
" : " :
", ");
3450 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)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getLhs()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::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
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::mlir::Type > 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
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
AndFeltOpAdaptor(AndFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndFeltOpGenericAdaptor(RangeT values, const AndFeltOpGenericAdaptorBase &base)
AndFeltOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
AndFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult 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 verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::OpOperand & getRhsMutable()
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::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 > getResult()
::mlir::TypedValue<::mlir::Type > getLhs()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DivFeltOpAdaptor(DivFeltOp op)
RangeT getODSOperands(unsigned index)
DivFeltOpGenericAdaptor(RangeT values, LateInst op)
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
DivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DivFeltOpGenericAdaptor(RangeT values, const DivFeltOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::TypedValue<::mlir::Type > getRhs()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::mlir::TypedValue<::mlir::Type > getLhs()
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()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
DivFeltOpGenericAdaptor< RangeT > GenericAdaptor
::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)
::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)
auto tryGetZExtValue() -> std::optional< uint64_t >
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()
::mlir::TypedValue<::mlir::Type > getResult()
void setValueAttr(::llzk::felt::FeltConstAttr attr)
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
auto getValueAPInt() -> ::llvm::APInt
::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()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::llzk::felt::FeltConstAttr getValue()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static FeltType get(::mlir::MLIRContext *context, ::mlir::StringAttr fieldName)
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<::mlir::Type > getOperand()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
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 bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::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 & getOperandMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
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)
::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::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getRhs()
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()
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::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NegFeltOpAdaptor(NegFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
NegFeltOpGenericAdaptor(RangeT values, LateInst op)
NegFeltOpGenericAdaptor(RangeT values, const NegFeltOpGenericAdaptorBase &base)
NegFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getOperand()
::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 & getOperandMutable()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
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, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
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)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult verifyInvariantsImpl()
NotFeltOpGenericAdaptor< RangeT > GenericAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value operand)
::mlir::TypedValue<::mlir::Type > getOperand()
::llvm::LogicalResult verifyInvariants()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::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
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getOperandMutable()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
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 bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
OrFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::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)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getRhsMutable()
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verify(::mlir::Location loc)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
PowFeltOpAdaptor(PowFeltOp op)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
PowFeltOpGenericAdaptor(RangeT values, LateInst op)
PowFeltOpGenericAdaptor(RangeT values, const PowFeltOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
PowFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
PowFeltOpGenericAdaptor< RangeT > GenericAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::OpOperand & getLhsMutable()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::mlir::Type > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ShlFeltOpAdaptor(ShlFeltOp op)
ShlFeltOpGenericAdaptor(RangeT values, const ShlFeltOpGenericAdaptorBase &base)
ShlFeltOpGenericAdaptor(RangeT values, LateInst op)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ShlFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::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)
::mlir::Operation::operand_range getODSOperands(unsigned index)
ShlFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::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)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::TypedValue<::mlir::Type > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
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)
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 > getResult()
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verify(::mlir::Location loc)
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedIntDivFeltOpAdaptor(SignedIntDivFeltOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SignedIntDivFeltOpGenericAdaptor(RangeT values, const SignedIntDivFeltOpGenericAdaptorBase &base)
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
SignedIntDivFeltOpGenericAdaptor(RangeT values, LateInst op)
::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()
::mlir::OpOperand & getRhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
SignedIntDivFeltOpGenericAdaptor< RangeT > GenericAdaptor
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::TypedValue<::mlir::Type > getLhs()
::llvm::LogicalResult verifyInvariants()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
SignedIntDivFeltOpAdaptor Adaptor
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
SignedModFeltOpAdaptor(SignedModFeltOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedModFeltOpGenericAdaptor(RangeT values, const SignedModFeltOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SignedModFeltOpGenericAdaptor(RangeT values, LateInst op)
SignedModFeltOpGenericAdaptor< RangeT > GenericAdaptor
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::OpOperand & getLhsMutable()
SignedModFeltOpAdaptor Adaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::mlir::Type > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getResult()
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)
::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::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)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::mlir::Type > getRhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
SubFeltOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::TypedValue<::mlir::Type > getResult()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedIntDivFeltOpAdaptor(UnsignedIntDivFeltOp op)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, LateInst op)
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
UnsignedIntDivFeltOpGenericAdaptor(RangeT values, const UnsignedIntDivFeltOpGenericAdaptorBase &base)
UnsignedIntDivFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getRhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getRhsMutable()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
UnsignedIntDivFeltOpAdaptor Adaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::mlir::Type > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::TypedValue<::mlir::Type > getLhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
UnsignedModFeltOpAdaptor(UnsignedModFeltOp op)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
UnsignedModFeltOpGenericAdaptor(RangeT values, LateInst op)
UnsignedModFeltOpGenericAdaptor(RangeT values, const UnsignedModFeltOpGenericAdaptorBase &base)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::mlir::Type > getRhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
UnsignedModFeltOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::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()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
UnsignedModFeltOpAdaptor Adaptor
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
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()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(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)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, std::optional<::mlir::Location > location, Adaptor adaptor, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::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)
::mlir::OpOperand & getLhsMutable()
XorFeltOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::TypedValue<::mlir::Type > getRhs()
static bool isCompatibleReturnTypes(::mlir::TypeRange l, ::mlir::TypeRange r)
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
::llzk::felt::FeltConstAttr getValue()
const Properties & getProperties()
InvFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
InvFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
MulFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
MulFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
NegFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
NegFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
NotFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
NotFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
OrFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
OrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
PowFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
PowFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
ShlFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
ShlFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ShrFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
ShrFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
SignedIntDivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SignedIntDivFeltOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
SignedModFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
SignedModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
SubFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
SubFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
UnsignedIntDivFeltOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
UnsignedIntDivFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
UnsignedModFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
UnsignedModFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
XorFeltOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
XorFeltOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
llvm::StringLiteral getOperationName()
Get the operation name, like "constrain.eq" for the given OpClass.
bool operator!=(const Properties &rhs) const
::llzk::felt::FeltConstAttr valueTy
void setValue(const ::llzk::felt::FeltConstAttr &propValue)
bool operator==(const Properties &rhs) const