316template <
typename RangeT>
318 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
321 AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
323 AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
AndOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
327 template <
typename LateInst = AndOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndOp>>>
336 return {std::next(odsOperands.begin(), valueRange.first),
337 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
356 ::llvm::LogicalResult
verify(::mlir::Location loc);
358class AndOp :
public ::mlir::Op<AndOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
363 template <
typename RangeT>
371 return ::llvm::StringLiteral(
"smt.and");
377 return {std::next(getOperation()->operand_begin(), valueRange.first),
378 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
392 return {std::next(getOperation()->result_begin(), valueRange.first),
393 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
397 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
400 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
401 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
402 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
403 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
406 static ::llvm::LogicalResult
inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location> location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type>&inferredReturnTypes);
407 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
408 void print(::mlir::OpAsmPrinter &_odsPrinter);
409 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
444template <
typename RangeT>
446 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
449 ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
455 template <
typename LateInst = ApplyFuncOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ApplyFuncOp>>>
464 return {std::next(odsOperands.begin(), valueRange.first),
465 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
488 ::llvm::LogicalResult
verify(::mlir::Location loc);
490class ApplyFuncOp :
public ::mlir::Op<ApplyFuncOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::AtLeastNOperands<1>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
495 template <
typename RangeT>
503 return ::llvm::StringLiteral(
"smt.apply_func");
509 return {std::next(getOperation()->operand_begin(), valueRange.first),
510 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
513 ::mlir::TypedValue<::llzk::smt::SMTFuncType>
getFunc() {
514 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::SMTFuncType>>(*
getODSOperands(0).begin());
523 return getOperation()->getOpOperand(range.first);
533 return {std::next(getOperation()->result_begin(), valueRange.first),
534 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
538 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
541 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args);
542 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value func, ::mlir::ValueRange args);
543 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value func, ::mlir::ValueRange args);
544 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
545 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
548 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);
549 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
550 void print(::mlir::OpAsmPrinter &_odsPrinter);
551 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
589template <
typename RangeT>
591 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
594 ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
600 template <
typename LateInst = ArrayBroadcastOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArrayBroadcastOp>>>
609 return {std::next(odsOperands.begin(), valueRange.first),
610 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
629 ::llvm::LogicalResult
verify(::mlir::Location loc);
631class ArrayBroadcastOp :
public ::mlir::Op<ArrayBroadcastOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::ArrayType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
636 template <
typename RangeT>
644 return ::llvm::StringLiteral(
"smt.array.broadcast");
653 return {std::next(getOperation()->operand_begin(), valueRange.first),
654 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
658 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
663 return getOperation()->getOpOperand(range.first);
672 return {std::next(getOperation()->result_begin(), valueRange.first),
673 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
676 ::mlir::TypedValue<::llzk::smt::ArrayType>
getResult() {
677 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSResults(0).begin());
680 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value);
681 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value);
682 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
685 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
686 void print(::mlir::OpAsmPrinter &_odsPrinter);
687 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
725template <
typename RangeT>
727 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
730 ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
736 template <
typename LateInst = ArraySelectOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArraySelectOp>>>
745 return {std::next(odsOperands.begin(), valueRange.first),
746 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
769 ::llvm::LogicalResult
verify(::mlir::Location loc);
771class ArraySelectOp :
public ::mlir::Op<ArraySelectOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
776 template <
typename RangeT>
784 return ::llvm::StringLiteral(
"smt.array.select");
793 return {std::next(getOperation()->operand_begin(), valueRange.first),
794 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
797 ::mlir::TypedValue<::llzk::smt::ArrayType>
getArray() {
798 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSOperands(0).begin());
802 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
807 return getOperation()->getOpOperand(range.first);
812 return getOperation()->getOpOperand(range.first);
821 return {std::next(getOperation()->result_begin(), valueRange.first),
822 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
826 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
829 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index);
830 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index);
831 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index);
832 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
833 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
836 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);
837 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
838 void print(::mlir::OpAsmPrinter &_odsPrinter);
839 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
877template <
typename RangeT>
879 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
882 ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
888 template <
typename LateInst = ArrayStoreOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArrayStoreOp>>>
897 return {std::next(odsOperands.begin(), valueRange.first),
898 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
925 ::llvm::LogicalResult
verify(::mlir::Location loc);
927class ArrayStoreOp :
public ::mlir::Op<ArrayStoreOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::ArrayType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<3>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
932 template <
typename RangeT>
940 return ::llvm::StringLiteral(
"smt.array.store");
949 return {std::next(getOperation()->operand_begin(), valueRange.first),
950 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
953 ::mlir::TypedValue<::llzk::smt::ArrayType>
getArray() {
954 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSOperands(0).begin());
958 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
962 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(2).begin());
967 return getOperation()->getOpOperand(range.first);
972 return getOperation()->getOpOperand(range.first);
977 return getOperation()->getOpOperand(range.first);
986 return {std::next(getOperation()->result_begin(), valueRange.first),
987 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
990 ::mlir::TypedValue<::llzk::smt::ArrayType>
getResult() {
991 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSResults(0).begin());
994 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
995 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
996 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
997 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
998 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1001 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);
1002 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1003 void print(::mlir::OpAsmPrinter &_odsPrinter);
1004 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1042template <
typename RangeT>
1044 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1047 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1049 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
AssertOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1053 template <
typename LateInst = AssertOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AssertOp>>>
1062 return {std::next(odsOperands.begin(), valueRange.first),
1063 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1082 ::llvm::LogicalResult
verify(::mlir::Location loc);
1084class AssertOp :
public ::mlir::Op<AssertOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants> {
1089 template <
typename RangeT>
1097 return ::llvm::StringLiteral(
"smt.assert");
1106 return {std::next(getOperation()->operand_begin(), valueRange.first),
1107 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1111 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
1116 return getOperation()->getOpOperand(range.first);
1125 return {std::next(getOperation()->result_begin(), valueRange.first),
1126 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1129 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
1130 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
1131 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1134 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1135 void print(::mlir::OpAsmPrinter &_odsPrinter);
1157 auto &propStorage = this->is_signed;
1158 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
1161 this->is_signed = propValue;
1169 return !(*
this == rhs);
1200template <
typename RangeT>
1202 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1213 template <
typename LateInst = BV2IntOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BV2IntOp>>>
1222 return {std::next(odsOperands.begin(), valueRange.first),
1223 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1242 ::llvm::LogicalResult
verify(::mlir::Location loc);
1244class BV2IntOp :
public ::mlir::Op<BV2IntOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
1249 template <
typename RangeT>
1254 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"is_signed")};
1255 return ::llvm::ArrayRef(attrNames);
1259 return getAttributeNameForIndex(0);
1263 return getAttributeNameForIndex(name, 0);
1267 return ::llvm::StringLiteral(
"smt.bv2int");
1276 return {std::next(getOperation()->operand_begin(), valueRange.first),
1277 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1280 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
1281 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1286 return getOperation()->getOpOperand(range.first);
1295 return {std::next(getOperation()->result_begin(), valueRange.first),
1296 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1300 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
1303 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1306 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
1309 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1310 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
1313 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().is_signed);
1318 getProperties().is_signed = attr;
1323 auto &attr = getProperties().is_signed;
1328 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1329 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1330 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1331 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input,
bool is_signed =
false);
1332 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input,
bool is_signed =
false);
1333 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input,
bool is_signed =
false);
1334 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1335 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1338 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);
1339 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1340 void print(::mlir::OpAsmPrinter &_odsPrinter);
1341 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1343 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
1344 return getAttributeNameForIndex((*this)->getName(), index);
1347 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
1348 assert(index < 1 &&
"invalid attribute index");
1349 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
1350 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
1351 "dependent dialect loading?");
1352 return name.getAttributeNames()[index];
1392template <
typename RangeT>
1394 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1397 BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1399 BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAShrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1403 template <
typename LateInst = BVAShrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAShrOp>>>
1412 return {std::next(odsOperands.begin(), valueRange.first),
1413 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1436 ::llvm::LogicalResult
verify(::mlir::Location loc);
1438class BVAShrOp :
public ::mlir::Op<BVAShrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
1443 template <
typename RangeT>
1451 return ::llvm::StringLiteral(
"smt.bv.ashr");
1460 return {std::next(getOperation()->operand_begin(), valueRange.first),
1461 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1464 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1465 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1468 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1469 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1474 return getOperation()->getOpOperand(range.first);
1479 return getOperation()->getOpOperand(range.first);
1488 return {std::next(getOperation()->result_begin(), valueRange.first),
1489 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1492 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1493 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1496 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1497 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1498 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1499 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1500 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1503 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);
1504 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1505 void print(::mlir::OpAsmPrinter &_odsPrinter);
1506 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1544template <
typename RangeT>
1546 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1549 BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1551 BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAddOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1555 template <
typename LateInst = BVAddOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAddOp>>>
1564 return {std::next(odsOperands.begin(), valueRange.first),
1565 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1588 ::llvm::LogicalResult
verify(::mlir::Location loc);
1590class BVAddOp :
public ::mlir::Op<BVAddOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
1595 template <
typename RangeT>
1603 return ::llvm::StringLiteral(
"smt.bv.add");
1612 return {std::next(getOperation()->operand_begin(), valueRange.first),
1613 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1616 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1617 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1620 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1621 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1626 return getOperation()->getOpOperand(range.first);
1631 return getOperation()->getOpOperand(range.first);
1640 return {std::next(getOperation()->result_begin(), valueRange.first),
1641 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1644 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1645 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1648 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1649 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1650 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1651 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1652 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1655 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);
1656 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1657 void print(::mlir::OpAsmPrinter &_odsPrinter);
1658 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1696template <
typename RangeT>
1698 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1701 BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1703 BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAndOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1707 template <
typename LateInst = BVAndOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAndOp>>>
1716 return {std::next(odsOperands.begin(), valueRange.first),
1717 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1740 ::llvm::LogicalResult
verify(::mlir::Location loc);
1742class BVAndOp :
public ::mlir::Op<BVAndOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
1747 template <
typename RangeT>
1755 return ::llvm::StringLiteral(
"smt.bv.and");
1764 return {std::next(getOperation()->operand_begin(), valueRange.first),
1765 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1768 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1769 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1772 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1773 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1778 return getOperation()->getOpOperand(range.first);
1783 return getOperation()->getOpOperand(range.first);
1792 return {std::next(getOperation()->result_begin(), valueRange.first),
1793 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1796 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1797 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1800 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1801 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1802 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1803 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1804 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1807 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);
1808 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1809 void print(::mlir::OpAsmPrinter &_odsPrinter);
1810 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1832 auto &propStorage = this->pred;
1833 return ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(propStorage);
1835 void setPred(const ::llzk::smt::BVCmpPredicateAttr &propValue) {
1836 this->pred = propValue;
1840 rhs.
pred == this->pred &&
1844 return !(*
this == rhs);
1872 auto attr = ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(
getProperties().pred);
1879template <
typename RangeT>
1881 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1892 template <
typename LateInst = BVCmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVCmpOp>>>
1901 return {std::next(odsOperands.begin(), valueRange.first),
1902 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1925 ::llvm::LogicalResult
verify(::mlir::Location loc);
1927class BVCmpOp :
public ::mlir::Op<BVCmpOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameTypeOperands, ::mlir::InferTypeOpInterface::Trait> {
1932 template <
typename RangeT>
1937 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"pred")};
1938 return ::llvm::ArrayRef(attrNames);
1942 return getAttributeNameForIndex(0);
1946 return getAttributeNameForIndex(name, 0);
1950 return ::llvm::StringLiteral(
"smt.bv.cmp");
1959 return {std::next(getOperation()->operand_begin(), valueRange.first),
1960 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1963 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1964 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1967 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1968 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1973 return getOperation()->getOpOperand(range.first);
1978 return getOperation()->getOpOperand(range.first);
1987 return {std::next(getOperation()->result_begin(), valueRange.first),
1988 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1992 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
1995 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1998 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
2001 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2002 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
2005 return ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(getProperties().pred);
2010 getProperties().pred = attr;
2014 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
2016 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
2017 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2018 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2019 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2020 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2021 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2024 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);
2025 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2026 void print(::mlir::OpAsmPrinter &_odsPrinter);
2027 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2029 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
2030 return getAttributeNameForIndex((*this)->getName(), index);
2033 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
2034 assert(index < 1 &&
"invalid attribute index");
2035 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
2036 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
2037 "dependent dialect loading?");
2038 return name.getAttributeNames()[index];
2062 auto &propStorage = this->value;
2063 return ::llvm::cast<::llzk::smt::BitVectorAttr>(propStorage);
2065 void setValue(const ::llzk::smt::BitVectorAttr &propValue) {
2066 this->value = propValue;
2070 rhs.
value == this->value &&
2074 return !(*
this == rhs);
2102 auto attr = ::llvm::cast<::llzk::smt::BitVectorAttr>(
getProperties().value);
2106 ::llzk::smt::BitVectorAttr
getValue();
2109template <
typename RangeT>
2111 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2122 template <
typename LateInst = BVConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVConstantOp>>>
2131 return {std::next(odsOperands.begin(), valueRange.first),
2132 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2147 ::llvm::LogicalResult
verify(::mlir::Location loc);
2149class BVConstantOp :
public ::mlir::Op<BVConstantOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::ConstantLike, ::mlir::InferTypeOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {
2154 template <
typename RangeT>
2159 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
2160 return ::llvm::ArrayRef(attrNames);
2164 return getAttributeNameForIndex(0);
2168 return getAttributeNameForIndex(name, 0);
2172 return ::llvm::StringLiteral(
"smt.bv.constant");
2181 return {std::next(getOperation()->operand_begin(), valueRange.first),
2182 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2191 return {std::next(getOperation()->result_begin(), valueRange.first),
2192 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2195 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2196 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2199 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2202 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
2205 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2206 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
2209 return ::llvm::cast<::llzk::smt::BitVectorAttr>(getProperties().value);
2212 ::llzk::smt::BitVectorAttr
getValue();
2214 getProperties().value = attr;
2217 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
const llvm::APInt &value);
2218 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint64_t value,
unsigned width);
2219 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BitVectorAttr value);
2220 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::BitVectorAttr value);
2221 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::BitVectorAttr value);
2222 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2223 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2227 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);
2229 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2230 void print(::mlir::OpAsmPrinter &_odsPrinter);
2231 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2233 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
2234 return getAttributeNameForIndex((*this)->getName(), index);
2237 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
2238 assert(index < 1 &&
"invalid attribute index");
2239 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
2240 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
2241 "dependent dialect loading?");
2242 return name.getAttributeNames()[index];
2282template <
typename RangeT>
2284 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2287 BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2289 BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVLShrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2293 template <
typename LateInst = BVLShrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVLShrOp>>>
2302 return {std::next(odsOperands.begin(), valueRange.first),
2303 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2326 ::llvm::LogicalResult
verify(::mlir::Location loc);
2328class BVLShrOp :
public ::mlir::Op<BVLShrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
2333 template <
typename RangeT>
2341 return ::llvm::StringLiteral(
"smt.bv.lshr");
2350 return {std::next(getOperation()->operand_begin(), valueRange.first),
2351 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2354 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2355 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2358 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2359 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2364 return getOperation()->getOpOperand(range.first);
2369 return getOperation()->getOpOperand(range.first);
2378 return {std::next(getOperation()->result_begin(), valueRange.first),
2379 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2382 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2383 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2386 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2387 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2388 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2389 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2390 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2393 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);
2394 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2395 void print(::mlir::OpAsmPrinter &_odsPrinter);
2396 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2434template <
typename RangeT>
2436 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2439 BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2441 BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVMulOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2445 template <
typename LateInst = BVMulOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVMulOp>>>
2454 return {std::next(odsOperands.begin(), valueRange.first),
2455 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2478 ::llvm::LogicalResult
verify(::mlir::Location loc);
2480class BVMulOp :
public ::mlir::Op<BVMulOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
2485 template <
typename RangeT>
2493 return ::llvm::StringLiteral(
"smt.bv.mul");
2502 return {std::next(getOperation()->operand_begin(), valueRange.first),
2503 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2506 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2507 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2510 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2511 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2516 return getOperation()->getOpOperand(range.first);
2521 return getOperation()->getOpOperand(range.first);
2530 return {std::next(getOperation()->result_begin(), valueRange.first),
2531 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2534 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2535 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2538 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2539 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2540 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2541 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2542 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2545 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);
2546 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2547 void print(::mlir::OpAsmPrinter &_odsPrinter);
2548 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2586template <
typename RangeT>
2588 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2591 BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2593 BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVNegOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2597 template <
typename LateInst = BVNegOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVNegOp>>>
2606 return {std::next(odsOperands.begin(), valueRange.first),
2607 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2626 ::llvm::LogicalResult
verify(::mlir::Location loc);
2628class BVNegOp :
public ::mlir::Op<BVNegOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
2633 template <
typename RangeT>
2641 return ::llvm::StringLiteral(
"smt.bv.neg");
2650 return {std::next(getOperation()->operand_begin(), valueRange.first),
2651 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2654 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
2655 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2660 return getOperation()->getOpOperand(range.first);
2669 return {std::next(getOperation()->result_begin(), valueRange.first),
2670 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2673 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2674 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2677 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
2678 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
2679 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
2680 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2681 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2684 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);
2685 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2686 void print(::mlir::OpAsmPrinter &_odsPrinter);
2687 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2725template <
typename RangeT>
2727 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2730 BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2732 BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVNotOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2736 template <
typename LateInst = BVNotOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVNotOp>>>
2745 return {std::next(odsOperands.begin(), valueRange.first),
2746 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2765 ::llvm::LogicalResult
verify(::mlir::Location loc);
2767class BVNotOp :
public ::mlir::Op<BVNotOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
2772 template <
typename RangeT>
2780 return ::llvm::StringLiteral(
"smt.bv.not");
2789 return {std::next(getOperation()->operand_begin(), valueRange.first),
2790 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2793 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
2794 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2799 return getOperation()->getOpOperand(range.first);
2808 return {std::next(getOperation()->result_begin(), valueRange.first),
2809 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2812 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2813 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2816 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
2817 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
2818 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
2819 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2820 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2823 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);
2824 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2825 void print(::mlir::OpAsmPrinter &_odsPrinter);
2826 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2864template <
typename RangeT>
2866 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2869 BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2871 BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2875 template <
typename LateInst = BVOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVOrOp>>>
2884 return {std::next(odsOperands.begin(), valueRange.first),
2885 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2908 ::llvm::LogicalResult
verify(::mlir::Location loc);
2910class BVOrOp :
public ::mlir::Op<BVOrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
2915 template <
typename RangeT>
2923 return ::llvm::StringLiteral(
"smt.bv.or");
2932 return {std::next(getOperation()->operand_begin(), valueRange.first),
2933 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2936 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2937 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2940 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2941 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2946 return getOperation()->getOpOperand(range.first);
2951 return getOperation()->getOpOperand(range.first);
2960 return {std::next(getOperation()->result_begin(), valueRange.first),
2961 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2964 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2965 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2968 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2969 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2970 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2971 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2972 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2975 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);
2976 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2977 void print(::mlir::OpAsmPrinter &_odsPrinter);
2978 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3016template <
typename RangeT>
3018 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3021 BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3023 BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3027 template <
typename LateInst = BVSDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSDivOp>>>
3036 return {std::next(odsOperands.begin(), valueRange.first),
3037 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3060 ::llvm::LogicalResult
verify(::mlir::Location loc);
3062class BVSDivOp :
public ::mlir::Op<BVSDivOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3067 template <
typename RangeT>
3075 return ::llvm::StringLiteral(
"smt.bv.sdiv");
3084 return {std::next(getOperation()->operand_begin(), valueRange.first),
3085 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3088 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3089 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3092 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3093 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3098 return getOperation()->getOpOperand(range.first);
3103 return getOperation()->getOpOperand(range.first);
3112 return {std::next(getOperation()->result_begin(), valueRange.first),
3113 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3116 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3117 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3120 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3121 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3122 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3123 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3124 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3127 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);
3128 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3129 void print(::mlir::OpAsmPrinter &_odsPrinter);
3130 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3168template <
typename RangeT>
3170 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3173 BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3175 BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSModOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3179 template <
typename LateInst = BVSModOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSModOp>>>
3188 return {std::next(odsOperands.begin(), valueRange.first),
3189 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3212 ::llvm::LogicalResult
verify(::mlir::Location loc);
3214class BVSModOp :
public ::mlir::Op<BVSModOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3219 template <
typename RangeT>
3227 return ::llvm::StringLiteral(
"smt.bv.smod");
3236 return {std::next(getOperation()->operand_begin(), valueRange.first),
3237 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3240 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3241 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3244 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3245 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3250 return getOperation()->getOpOperand(range.first);
3255 return getOperation()->getOpOperand(range.first);
3264 return {std::next(getOperation()->result_begin(), valueRange.first),
3265 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3268 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3269 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3272 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3273 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3274 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3275 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3276 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3279 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);
3280 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3281 void print(::mlir::OpAsmPrinter &_odsPrinter);
3282 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3320template <
typename RangeT>
3322 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3325 BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3327 BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSRemOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3331 template <
typename LateInst = BVSRemOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSRemOp>>>
3340 return {std::next(odsOperands.begin(), valueRange.first),
3341 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3364 ::llvm::LogicalResult
verify(::mlir::Location loc);
3366class BVSRemOp :
public ::mlir::Op<BVSRemOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3371 template <
typename RangeT>
3379 return ::llvm::StringLiteral(
"smt.bv.srem");
3388 return {std::next(getOperation()->operand_begin(), valueRange.first),
3389 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3392 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3393 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3396 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3397 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3402 return getOperation()->getOpOperand(range.first);
3407 return getOperation()->getOpOperand(range.first);
3416 return {std::next(getOperation()->result_begin(), valueRange.first),
3417 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3420 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3421 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3424 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3425 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3426 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3427 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3428 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3431 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);
3432 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3433 void print(::mlir::OpAsmPrinter &_odsPrinter);
3434 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3472template <
typename RangeT>
3474 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3477 BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3479 BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVShlOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3483 template <
typename LateInst = BVShlOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVShlOp>>>
3492 return {std::next(odsOperands.begin(), valueRange.first),
3493 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3516 ::llvm::LogicalResult
verify(::mlir::Location loc);
3518class BVShlOp :
public ::mlir::Op<BVShlOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3523 template <
typename RangeT>
3531 return ::llvm::StringLiteral(
"smt.bv.shl");
3540 return {std::next(getOperation()->operand_begin(), valueRange.first),
3541 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3544 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3545 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3548 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3549 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3554 return getOperation()->getOpOperand(range.first);
3559 return getOperation()->getOpOperand(range.first);
3568 return {std::next(getOperation()->result_begin(), valueRange.first),
3569 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3572 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3573 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3576 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3577 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3578 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3579 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3580 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3583 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);
3584 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3585 void print(::mlir::OpAsmPrinter &_odsPrinter);
3586 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3624template <
typename RangeT>
3626 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3629 BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3631 BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVUDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3635 template <
typename LateInst = BVUDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVUDivOp>>>
3644 return {std::next(odsOperands.begin(), valueRange.first),
3645 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3668 ::llvm::LogicalResult
verify(::mlir::Location loc);
3670class BVUDivOp :
public ::mlir::Op<BVUDivOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3675 template <
typename RangeT>
3683 return ::llvm::StringLiteral(
"smt.bv.udiv");
3692 return {std::next(getOperation()->operand_begin(), valueRange.first),
3693 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3696 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3697 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3700 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3701 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3706 return getOperation()->getOpOperand(range.first);
3711 return getOperation()->getOpOperand(range.first);
3720 return {std::next(getOperation()->result_begin(), valueRange.first),
3721 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3724 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3725 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3728 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3729 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3730 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3731 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3732 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3735 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);
3736 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3737 void print(::mlir::OpAsmPrinter &_odsPrinter);
3738 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3776template <
typename RangeT>
3778 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3781 BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3783 BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVURemOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3787 template <
typename LateInst = BVURemOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVURemOp>>>
3796 return {std::next(odsOperands.begin(), valueRange.first),
3797 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3820 ::llvm::LogicalResult
verify(::mlir::Location loc);
3822class BVURemOp :
public ::mlir::Op<BVURemOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3827 template <
typename RangeT>
3835 return ::llvm::StringLiteral(
"smt.bv.urem");
3844 return {std::next(getOperation()->operand_begin(), valueRange.first),
3845 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3848 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3849 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3852 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3853 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3858 return getOperation()->getOpOperand(range.first);
3863 return getOperation()->getOpOperand(range.first);
3872 return {std::next(getOperation()->result_begin(), valueRange.first),
3873 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3876 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3877 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3880 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3881 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3882 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3883 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3884 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3887 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);
3888 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3889 void print(::mlir::OpAsmPrinter &_odsPrinter);
3890 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3928template <
typename RangeT>
3930 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3933 BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3935 BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVXOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3939 template <
typename LateInst = BVXOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVXOrOp>>>
3948 return {std::next(odsOperands.begin(), valueRange.first),
3949 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3972 ::llvm::LogicalResult
verify(::mlir::Location loc);
3974class BVXOrOp :
public ::mlir::Op<BVXOrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameOperandsAndResultType, ::mlir::InferTypeOpInterface::Trait> {
3979 template <
typename RangeT>
3987 return ::llvm::StringLiteral(
"smt.bv.xor");
3996 return {std::next(getOperation()->operand_begin(), valueRange.first),
3997 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4000 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
4001 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
4004 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
4005 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
4010 return getOperation()->getOpOperand(range.first);
4015 return getOperation()->getOpOperand(range.first);
4024 return {std::next(getOperation()->result_begin(), valueRange.first),
4025 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4028 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
4029 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
4032 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
4033 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
4034 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
4035 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4036 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4039 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);
4040 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4041 void print(::mlir::OpAsmPrinter &_odsPrinter);
4042 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4064 auto &propStorage = this->value;
4065 return ::llvm::cast<::mlir::BoolAttr>(propStorage);
4068 this->value = propValue;
4072 rhs.
value == this->value &&
4076 return !(*
this == rhs);
4104 auto attr = ::llvm::cast<::mlir::BoolAttr>(
getProperties().value);
4111template <
typename RangeT>
4113 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4124 template <
typename LateInst = BoolConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BoolConstantOp>>>
4133 return {std::next(odsOperands.begin(), valueRange.first),
4134 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4149 ::llvm::LogicalResult
verify(::mlir::Location loc);
4151class BoolConstantOp :
public ::mlir::Op<BoolConstantOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::ConstantLike, ::mlir::OpAsmOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
4156 template <
typename RangeT>
4161 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
4162 return ::llvm::ArrayRef(attrNames);
4166 return getAttributeNameForIndex(0);
4170 return getAttributeNameForIndex(name, 0);
4174 return ::llvm::StringLiteral(
"smt.constant");
4183 return {std::next(getOperation()->operand_begin(), valueRange.first),
4184 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4193 return {std::next(getOperation()->result_begin(), valueRange.first),
4194 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4198 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
4201 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4204 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
4207 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4208 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
4211 return ::llvm::cast<::mlir::BoolAttr>(getProperties().value);
4216 getProperties().value = attr;
4220 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value);
4221 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::BoolAttr value);
4222 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::BoolAttr value);
4223 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
bool value);
4224 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
bool value);
4225 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
bool value);
4226 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4227 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4231 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);
4233 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4234 void print(::mlir::OpAsmPrinter &_odsPrinter);
4235 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4237 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
4238 return getAttributeNameForIndex((*this)->getName(), index);
4241 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
4242 assert(index < 1 &&
"invalid attribute index");
4243 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
4244 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
4245 "dependent dialect loading?");
4246 return name.getAttributeNames()[index];
4302template <
typename RangeT>
4304 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4307 CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4309 CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
CheckOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4313 template <
typename LateInst = CheckOp,
typename = std::enable_if_t<std::is_same_v<LateInst, CheckOp>>>
4322 return {std::next(odsOperands.begin(), valueRange.first),
4323 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4338 ::llvm::LogicalResult
verify(::mlir::Location loc);
4340class CheckOp :
public ::mlir::Op<CheckOp, ::mlir::OpTrait::NRegions<3>::Impl, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::NoRegionArguments, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::SingleBlockImplicitTerminator<smt::YieldOp>::Impl, ::mlir::OpTrait::OpInvariants> {
4345 template <
typename RangeT>
4353 return ::llvm::StringLiteral(
"smt.check");
4362 return {std::next(getOperation()->operand_begin(), valueRange.first),
4363 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4369 return {std::next(getOperation()->result_begin(), valueRange.first),
4370 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4378 return (*this)->getRegion(0);
4382 return (*this)->getRegion(1);
4386 return (*this)->getRegion(2);
4389 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results);
4390 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4394 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4395 void print(::mlir::OpAsmPrinter &_odsPrinter);
4433template <
typename RangeT>
4435 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4438 ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4440 ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
ConcatOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4444 template <
typename LateInst = ConcatOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ConcatOp>>>
4453 return {std::next(odsOperands.begin(), valueRange.first),
4454 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4477 ::llvm::LogicalResult
verify(::mlir::Location loc);
4479class ConcatOp :
public ::mlir::Op<ConcatOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
4484 template <
typename RangeT>
4492 return ::llvm::StringLiteral(
"smt.bv.concat");
4501 return {std::next(getOperation()->operand_begin(), valueRange.first),
4502 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4505 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
4506 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
4509 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
4510 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
4515 return getOperation()->getOpOperand(range.first);
4520 return getOperation()->getOpOperand(range.first);
4529 return {std::next(getOperation()->result_begin(), valueRange.first),
4530 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4533 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
4534 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
4537 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
4538 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
4539 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
4540 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4541 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4544 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);
4545 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4546 void print(::mlir::OpAsmPrinter &_odsPrinter);
4547 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4569 auto &propStorage = this->namePrefix;
4570 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(propStorage);
4573 this->namePrefix = propValue;
4581 return !(*
this == rhs);
4609 auto attr = ::llvm::dyn_cast_or_null<::mlir::StringAttr>(
getProperties().namePrefix);
4616template <
typename RangeT>
4618 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4629 template <
typename LateInst = DeclareFunOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DeclareFunOp>>>
4638 return {std::next(odsOperands.begin(), valueRange.first),
4639 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4654 ::llvm::LogicalResult
verify(::mlir::Location loc);
4656class DeclareFunOp :
public ::mlir::Op<DeclareFunOp, ::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::OpAsmOpInterface::Trait, ::mlir::MemoryEffectOpInterface::Trait> {
4661 template <
typename RangeT>
4666 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"namePrefix")};
4667 return ::llvm::ArrayRef(attrNames);
4671 return getAttributeNameForIndex(0);
4675 return getAttributeNameForIndex(name, 0);
4679 return ::llvm::StringLiteral(
"smt.declare_fun");
4688 return {std::next(getOperation()->operand_begin(), valueRange.first),
4689 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4698 return {std::next(getOperation()->result_begin(), valueRange.first),
4699 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4703 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
4706 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4709 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
4712 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4713 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
4716 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().namePrefix);
4721 getProperties().namePrefix = attr;
4724 void setNamePrefix(::std::optional<::llvm::StringRef> attrValue);
4726 auto &attr = getProperties().namePrefix;
4731 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Type type);
4732 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::StringAttr namePrefix);
4733 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr namePrefix);
4734 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4738 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4739 void print(::mlir::OpAsmPrinter &_odsPrinter);
4740 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4742 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
4743 return getAttributeNameForIndex((*this)->getName(), index);
4746 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
4747 assert(index < 1 &&
"invalid attribute index");
4748 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
4749 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
4750 "dependent dialect loading?");
4751 return name.getAttributeNames()[index];
4788template <
typename RangeT>
4790 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4793 DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4799 template <
typename LateInst = DistinctOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DistinctOp>>>
4808 return {std::next(odsOperands.begin(), valueRange.first),
4809 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4828 ::llvm::LogicalResult
verify(::mlir::Location loc);
4830class DistinctOp :
public ::mlir::Op<DistinctOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameTypeOperands, ::mlir::InferTypeOpInterface::Trait> {
4835 template <
typename RangeT>
4843 return ::llvm::StringLiteral(
"smt.distinct");
4849 return {std::next(getOperation()->operand_begin(), valueRange.first),
4850 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4864 return {std::next(getOperation()->result_begin(), valueRange.first),
4865 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4869 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
4872 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
4873 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
4874 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4875 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4876 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4877 void print(::mlir::OpAsmPrinter &p);
4880 ::llvm::LogicalResult
verify();
4881 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);
4882 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4917template <
typename RangeT>
4919 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4922 EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4924 EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
EqOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4928 template <
typename LateInst = EqOp,
typename = std::enable_if_t<std::is_same_v<LateInst, EqOp>>>
4937 return {std::next(odsOperands.begin(), valueRange.first),
4938 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4957 ::llvm::LogicalResult
verify(::mlir::Location loc);
4959class EqOp :
public ::mlir::Op<EqOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::SameTypeOperands, ::mlir::InferTypeOpInterface::Trait> {
4964 template <
typename RangeT>
4972 return ::llvm::StringLiteral(
"smt.eq");
4978 return {std::next(getOperation()->operand_begin(), valueRange.first),
4979 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4993 return {std::next(getOperation()->result_begin(), valueRange.first),
4994 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4998 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5001 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
5002 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
5003 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5004 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5005 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5006 void print(::mlir::OpAsmPrinter &p);
5009 ::llvm::LogicalResult
verify();
5010 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);
5011 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
5033 auto &propStorage = this->boundVarNames;
5034 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
5037 this->boundVarNames = propValue;
5043 auto &propStorage = this->noPattern;
5044 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
5047 this->noPattern = propValue;
5053 auto &propStorage = this->weight;
5054 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(propStorage);
5057 this->weight = propValue;
5063 rhs.
weight == this->weight &&
5067 return !(*
this == rhs);
5099 auto attr = ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(
getProperties().boundVarNames);
5118template <
typename RangeT>
5120 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5131 template <
typename LateInst = ExistsOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ExistsOp>>>
5140 return {std::next(odsOperands.begin(), valueRange.first),
5141 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5156 ::llvm::LogicalResult
verify(::mlir::Location loc);
5158class ExistsOp :
public ::mlir::Op<ExistsOp, ::mlir::OpTrait::AtLeastNRegions<1>::Impl, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::SingleBlockImplicitTerminator<smt::YieldOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::RecursivelySpeculatableImplTrait, ::mlir::OpTrait::HasRecursiveMemoryEffects, ::mlir::InferTypeOpInterface::Trait> {
5163 template <
typename RangeT>
5168 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"boundVarNames"), ::llvm::StringRef(
"noPattern"), ::llvm::StringRef(
"weight")};
5169 return ::llvm::ArrayRef(attrNames);
5173 return getAttributeNameForIndex(0);
5177 return getAttributeNameForIndex(name, 0);
5181 return getAttributeNameForIndex(1);
5185 return getAttributeNameForIndex(name, 1);
5189 return getAttributeNameForIndex(2);
5193 return getAttributeNameForIndex(name, 2);
5197 return ::llvm::StringLiteral(
"smt.exists");
5206 return {std::next(getOperation()->operand_begin(), valueRange.first),
5207 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5216 return {std::next(getOperation()->result_begin(), valueRange.first),
5217 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5221 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5225 return (*this)->getRegion(0);
5229 return (*this)->getRegions().drop_front(1);
5232 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5235 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5238 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5239 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5242 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(getProperties().weight);
5247 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().noPattern);
5252 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().boundVarNames);
5257 getProperties().weight = attr;
5262 getProperties().noPattern = attr;
5267 getProperties().boundVarNames = attr;
5271 auto &attr = getProperties().noPattern;
5277 auto &attr = getProperties().boundVarNames;
5282 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::TypeRange boundVarTypes, llvm::function_ref<mlir::Value(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> bodyBuilder, std::optional<llvm::ArrayRef<mlir::StringRef>> boundVarNames = std::nullopt, llvm::function_ref<mlir::ValueRange(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> patternBuilder = {}, uint32_t weight = 0,
bool noPattern =
false);
5286 ::llvm::LogicalResult
verify();
5288 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);
5289 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5290 void print(::mlir::OpAsmPrinter &_odsPrinter);
5292 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5293 return getAttributeNameForIndex((*this)->getName(), index);
5296 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5297 assert(index < 3 &&
"invalid attribute index");
5298 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5299 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5300 "dependent dialect loading?");
5301 return name.getAttributeNames()[index];
5325 auto &propStorage = this->lowBit;
5326 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
5329 this->lowBit = propValue;
5333 rhs.
lowBit == this->lowBit &&
5337 return !(*
this == rhs);
5365 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().lowBit);
5372template <
typename RangeT>
5374 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5385 template <
typename LateInst = ExtractOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ExtractOp>>>
5394 return {std::next(odsOperands.begin(), valueRange.first),
5395 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5414 ::llvm::LogicalResult
verify(::mlir::Location loc);
5416class ExtractOp :
public ::mlir::Op<ExtractOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
5421 template <
typename RangeT>
5426 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"lowBit")};
5427 return ::llvm::ArrayRef(attrNames);
5431 return getAttributeNameForIndex(0);
5435 return getAttributeNameForIndex(name, 0);
5439 return ::llvm::StringLiteral(
"smt.bv.extract");
5448 return {std::next(getOperation()->operand_begin(), valueRange.first),
5449 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5452 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
5453 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
5458 return getOperation()->getOpOperand(range.first);
5467 return {std::next(getOperation()->result_begin(), valueRange.first),
5468 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5471 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
5472 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
5475 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5478 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5481 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5482 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5485 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().lowBit);
5490 getProperties().lowBit = attr;
5494 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr lowBit, ::mlir::Value input);
5495 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr lowBit, ::mlir::Value input);
5496 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, uint32_t lowBit, ::mlir::Value input);
5497 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t lowBit, ::mlir::Value input);
5498 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5501 ::llvm::LogicalResult
verify();
5502 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5503 void print(::mlir::OpAsmPrinter &_odsPrinter);
5504 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
5506 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5507 return getAttributeNameForIndex((*this)->getName(), index);
5510 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5511 assert(index < 1 &&
"invalid attribute index");
5512 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5513 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5514 "dependent dialect loading?");
5515 return name.getAttributeNames()[index];
5539 auto &propStorage = this->boundVarNames;
5540 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
5543 this->boundVarNames = propValue;
5549 auto &propStorage = this->noPattern;
5550 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
5553 this->noPattern = propValue;
5559 auto &propStorage = this->weight;
5560 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(propStorage);
5563 this->weight = propValue;
5569 rhs.
weight == this->weight &&
5573 return !(*
this == rhs);
5605 auto attr = ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(
getProperties().boundVarNames);
5624template <
typename RangeT>
5626 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5637 template <
typename LateInst = ForallOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ForallOp>>>
5646 return {std::next(odsOperands.begin(), valueRange.first),
5647 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5662 ::llvm::LogicalResult
verify(::mlir::Location loc);
5664class ForallOp :
public ::mlir::Op<ForallOp, ::mlir::OpTrait::AtLeastNRegions<1>::Impl, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::SingleBlockImplicitTerminator<smt::YieldOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::RecursivelySpeculatableImplTrait, ::mlir::OpTrait::HasRecursiveMemoryEffects, ::mlir::InferTypeOpInterface::Trait> {
5669 template <
typename RangeT>
5674 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"boundVarNames"), ::llvm::StringRef(
"noPattern"), ::llvm::StringRef(
"weight")};
5675 return ::llvm::ArrayRef(attrNames);
5679 return getAttributeNameForIndex(0);
5683 return getAttributeNameForIndex(name, 0);
5687 return getAttributeNameForIndex(1);
5691 return getAttributeNameForIndex(name, 1);
5695 return getAttributeNameForIndex(2);
5699 return getAttributeNameForIndex(name, 2);
5703 return ::llvm::StringLiteral(
"smt.forall");
5712 return {std::next(getOperation()->operand_begin(), valueRange.first),
5713 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5722 return {std::next(getOperation()->result_begin(), valueRange.first),
5723 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5727 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5731 return (*this)->getRegion(0);
5735 return (*this)->getRegions().drop_front(1);
5738 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5741 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5744 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5745 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5748 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(getProperties().weight);
5753 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().noPattern);
5758 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().boundVarNames);
5763 getProperties().weight = attr;
5768 getProperties().noPattern = attr;
5773 getProperties().boundVarNames = attr;
5777 auto &attr = getProperties().noPattern;
5783 auto &attr = getProperties().boundVarNames;
5788 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::TypeRange boundVarTypes, llvm::function_ref<mlir::Value(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> bodyBuilder, std::optional<llvm::ArrayRef<mlir::StringRef>> boundVarNames = std::nullopt, llvm::function_ref<mlir::ValueRange(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> patternBuilder = {}, uint32_t weight = 0,
bool noPattern =
false);
5792 ::llvm::LogicalResult
verify();
5794 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);
5795 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5796 void print(::mlir::OpAsmPrinter &_odsPrinter);
5798 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5799 return getAttributeNameForIndex((*this)->getName(), index);
5802 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5803 assert(index < 3 &&
"invalid attribute index");
5804 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5805 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5806 "dependent dialect loading?");
5807 return name.getAttributeNames()[index];
5847template <
typename RangeT>
5849 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5852 ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
5858 template <
typename LateInst = ImpliesOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ImpliesOp>>>
5867 return {std::next(odsOperands.begin(), valueRange.first),
5868 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5891 ::llvm::LogicalResult
verify(::mlir::Location loc);
5893class ImpliesOp :
public ::mlir::Op<ImpliesOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
5898 template <
typename RangeT>
5906 return ::llvm::StringLiteral(
"smt.implies");
5915 return {std::next(getOperation()->operand_begin(), valueRange.first),
5916 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5919 ::mlir::TypedValue<::llzk::smt::BoolType>
getLhs() {
5920 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
5923 ::mlir::TypedValue<::llzk::smt::BoolType>
getRhs() {
5924 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(1).begin());
5929 return getOperation()->getOpOperand(range.first);
5934 return getOperation()->getOpOperand(range.first);
5943 return {std::next(getOperation()->result_begin(), valueRange.first),
5944 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5948 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5951 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
5952 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
5953 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
5954 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5955 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5958 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);
5959 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5960 void print(::mlir::OpAsmPrinter &_odsPrinter);
5961 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
5999template <
typename RangeT>
6001 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6004 Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6006 Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
Int2BVOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6010 template <
typename LateInst = Int2BVOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Int2BVOp>>>
6019 return {std::next(odsOperands.begin(), valueRange.first),
6020 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6039 ::llvm::LogicalResult
verify(::mlir::Location loc);
6041class Int2BVOp :
public ::mlir::Op<Int2BVOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
6046 template <
typename RangeT>
6054 return ::llvm::StringLiteral(
"smt.int2bv");
6063 return {std::next(getOperation()->operand_begin(), valueRange.first),
6064 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6068 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6073 return getOperation()->getOpOperand(range.first);
6082 return {std::next(getOperation()->result_begin(), valueRange.first),
6083 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6086 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
6087 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
6090 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
6091 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
6092 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6095 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6096 void print(::mlir::OpAsmPrinter &_odsPrinter);
6097 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6135template <
typename RangeT>
6137 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6140 IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6142 IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntAbsOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6146 template <
typename LateInst = IntAbsOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntAbsOp>>>
6155 return {std::next(odsOperands.begin(), valueRange.first),
6156 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6175 ::llvm::LogicalResult
verify(::mlir::Location loc);
6177class IntAbsOp :
public ::mlir::Op<IntAbsOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
6182 template <
typename RangeT>
6190 return ::llvm::StringLiteral(
"smt.int.abs");
6199 return {std::next(getOperation()->operand_begin(), valueRange.first),
6200 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6204 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6209 return getOperation()->getOpOperand(range.first);
6218 return {std::next(getOperation()->result_begin(), valueRange.first),
6219 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6223 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6226 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
6227 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
6228 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
6229 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6230 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6233 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);
6234 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6235 void print(::mlir::OpAsmPrinter &_odsPrinter);
6236 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6271template <
typename RangeT>
6273 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6276 IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6278 IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntAddOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6282 template <
typename LateInst = IntAddOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntAddOp>>>
6291 return {std::next(odsOperands.begin(), valueRange.first),
6292 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6311 ::llvm::LogicalResult
verify(::mlir::Location loc);
6313class IntAddOp :
public ::mlir::Op<IntAddOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::IsCommutative, ::mlir::InferTypeOpInterface::Trait> {
6318 template <
typename RangeT>
6326 return ::llvm::StringLiteral(
"smt.int.add");
6332 return {std::next(getOperation()->operand_begin(), valueRange.first),
6333 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6347 return {std::next(getOperation()->result_begin(), valueRange.first),
6348 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6352 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6355 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
6356 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6357 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6360 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);
6361 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6362 void print(::mlir::OpAsmPrinter &_odsPrinter);
6363 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6385 auto &propStorage = this->pred;
6386 return ::llvm::cast<::llzk::smt::IntPredicateAttr>(propStorage);
6388 void setPred(const ::llzk::smt::IntPredicateAttr &propValue) {
6389 this->pred = propValue;
6393 rhs.
pred == this->pred &&
6397 return !(*
this == rhs);
6425 auto attr = ::llvm::cast<::llzk::smt::IntPredicateAttr>(
getProperties().pred);
6432template <
typename RangeT>
6434 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6445 template <
typename LateInst = IntCmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntCmpOp>>>
6454 return {std::next(odsOperands.begin(), valueRange.first),
6455 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6478 ::llvm::LogicalResult
verify(::mlir::Location loc);
6480class IntCmpOp :
public ::mlir::Op<IntCmpOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
6485 template <
typename RangeT>
6490 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"pred")};
6491 return ::llvm::ArrayRef(attrNames);
6495 return getAttributeNameForIndex(0);
6499 return getAttributeNameForIndex(name, 0);
6503 return ::llvm::StringLiteral(
"smt.int.cmp");
6512 return {std::next(getOperation()->operand_begin(), valueRange.first),
6513 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6516 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
6517 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6520 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
6521 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
6526 return getOperation()->getOpOperand(range.first);
6531 return getOperation()->getOpOperand(range.first);
6540 return {std::next(getOperation()->result_begin(), valueRange.first),
6541 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6545 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
6548 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6551 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
6554 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6555 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
6558 return ::llvm::cast<::llzk::smt::IntPredicateAttr>(getProperties().pred);
6563 getProperties().pred = attr;
6567 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
6569 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
6570 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6571 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6572 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6573 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6574 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6577 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);
6578 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6579 void print(::mlir::OpAsmPrinter &_odsPrinter);
6580 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6582 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
6583 return getAttributeNameForIndex((*this)->getName(), index);
6586 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
6587 assert(index < 1 &&
"invalid attribute index");
6588 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
6589 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
6590 "dependent dialect loading?");
6591 return name.getAttributeNames()[index];
6615 auto &propStorage = this->value;
6616 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
6619 this->value = propValue;
6623 rhs.
value == this->value &&
6627 return !(*
this == rhs);
6655 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().value);
6662template <
typename RangeT>
6664 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6675 template <
typename LateInst = IntConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntConstantOp>>>
6684 return {std::next(odsOperands.begin(), valueRange.first),
6685 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6700 ::llvm::LogicalResult
verify(::mlir::Location loc);
6702class IntConstantOp :
public ::mlir::Op<IntConstantOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::ConstantLike, ::mlir::OpAsmOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
6707 template <
typename RangeT>
6712 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
6713 return ::llvm::ArrayRef(attrNames);
6717 return getAttributeNameForIndex(0);
6721 return getAttributeNameForIndex(name, 0);
6725 return ::llvm::StringLiteral(
"smt.int.constant");
6734 return {std::next(getOperation()->operand_begin(), valueRange.first),
6735 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6744 return {std::next(getOperation()->result_begin(), valueRange.first),
6745 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6749 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6752 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6755 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
6758 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6759 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
6762 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().value);
6767 getProperties().value = attr;
6770 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value);
6771 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr value);
6772 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr value);
6773 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6774 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6775 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6776 void print(::mlir::OpAsmPrinter &p);
6780 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);
6782 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6784 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
6785 return getAttributeNameForIndex((*this)->getName(), index);
6788 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
6789 assert(index < 1 &&
"invalid attribute index");
6790 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
6791 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
6792 "dependent dialect loading?");
6793 return name.getAttributeNames()[index];
6833template <
typename RangeT>
6835 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6838 IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6840 IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6844 template <
typename LateInst = IntDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntDivOp>>>
6853 return {std::next(odsOperands.begin(), valueRange.first),
6854 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6877 ::llvm::LogicalResult
verify(::mlir::Location loc);
6879class IntDivOp :
public ::mlir::Op<IntDivOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
6884 template <
typename RangeT>
6892 return ::llvm::StringLiteral(
"smt.int.div");
6901 return {std::next(getOperation()->operand_begin(), valueRange.first),
6902 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6905 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
6906 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6909 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
6910 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
6915 return getOperation()->getOpOperand(range.first);
6920 return getOperation()->getOpOperand(range.first);
6929 return {std::next(getOperation()->result_begin(), valueRange.first),
6930 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6934 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6937 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
6938 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
6939 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
6940 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6941 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6944 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);
6945 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6946 void print(::mlir::OpAsmPrinter &_odsPrinter);
6947 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6985template <
typename RangeT>
6987 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6990 IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6992 IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntModOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6996 template <
typename LateInst = IntModOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntModOp>>>
7005 return {std::next(odsOperands.begin(), valueRange.first),
7006 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7029 ::llvm::LogicalResult
verify(::mlir::Location loc);
7031class IntModOp :
public ::mlir::Op<IntModOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7036 template <
typename RangeT>
7044 return ::llvm::StringLiteral(
"smt.int.mod");
7053 return {std::next(getOperation()->operand_begin(), valueRange.first),
7054 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7057 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
7058 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7061 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
7062 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
7067 return getOperation()->getOpOperand(range.first);
7072 return getOperation()->getOpOperand(range.first);
7081 return {std::next(getOperation()->result_begin(), valueRange.first),
7082 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7086 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7089 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
7090 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
7091 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
7092 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7093 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7096 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);
7097 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7098 void print(::mlir::OpAsmPrinter &_odsPrinter);
7099 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7134template <
typename RangeT>
7136 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7139 IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7141 IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntMulOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7145 template <
typename LateInst = IntMulOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntMulOp>>>
7154 return {std::next(odsOperands.begin(), valueRange.first),
7155 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7174 ::llvm::LogicalResult
verify(::mlir::Location loc);
7176class IntMulOp :
public ::mlir::Op<IntMulOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::IsCommutative, ::mlir::InferTypeOpInterface::Trait> {
7181 template <
typename RangeT>
7189 return ::llvm::StringLiteral(
"smt.int.mul");
7195 return {std::next(getOperation()->operand_begin(), valueRange.first),
7196 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7210 return {std::next(getOperation()->result_begin(), valueRange.first),
7211 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7215 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7218 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
7219 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7220 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7223 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);
7224 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7225 void print(::mlir::OpAsmPrinter &_odsPrinter);
7226 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7264template <
typename RangeT>
7266 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7269 IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7271 IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntNegOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7275 template <
typename LateInst = IntNegOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntNegOp>>>
7284 return {std::next(odsOperands.begin(), valueRange.first),
7285 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7304 ::llvm::LogicalResult
verify(::mlir::Location loc);
7306class IntNegOp :
public ::mlir::Op<IntNegOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7311 template <
typename RangeT>
7319 return ::llvm::StringLiteral(
"smt.int.neg");
7328 return {std::next(getOperation()->operand_begin(), valueRange.first),
7329 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7333 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7338 return getOperation()->getOpOperand(range.first);
7347 return {std::next(getOperation()->result_begin(), valueRange.first),
7348 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7352 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7355 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
7356 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
7357 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
7358 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7359 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7362 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);
7363 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7364 void print(::mlir::OpAsmPrinter &_odsPrinter);
7365 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7403template <
typename RangeT>
7405 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7408 IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7410 IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntSubOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7414 template <
typename LateInst = IntSubOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntSubOp>>>
7423 return {std::next(odsOperands.begin(), valueRange.first),
7424 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7447 ::llvm::LogicalResult
verify(::mlir::Location loc);
7449class IntSubOp :
public ::mlir::Op<IntSubOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::IntType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7454 template <
typename RangeT>
7462 return ::llvm::StringLiteral(
"smt.int.sub");
7471 return {std::next(getOperation()->operand_begin(), valueRange.first),
7472 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7475 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
7476 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7479 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
7480 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
7485 return getOperation()->getOpOperand(range.first);
7490 return getOperation()->getOpOperand(range.first);
7499 return {std::next(getOperation()->result_begin(), valueRange.first),
7500 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7504 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7507 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
7508 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
7509 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
7510 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7511 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7514 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);
7515 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7516 void print(::mlir::OpAsmPrinter &_odsPrinter);
7517 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7555template <
typename RangeT>
7557 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7560 IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7562 IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IteOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7566 template <
typename LateInst = IteOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IteOp>>>
7575 return {std::next(odsOperands.begin(), valueRange.first),
7576 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7603 ::llvm::LogicalResult
verify(::mlir::Location loc);
7605class IteOp :
public ::mlir::Op<IteOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<3>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7610 template <
typename RangeT>
7618 return ::llvm::StringLiteral(
"smt.ite");
7627 return {std::next(getOperation()->operand_begin(), valueRange.first),
7628 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7631 ::mlir::TypedValue<::llzk::smt::BoolType>
getCond() {
7632 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
7636 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
7640 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(2).begin());
7645 return getOperation()->getOpOperand(range.first);
7650 return getOperation()->getOpOperand(range.first);
7655 return getOperation()->getOpOperand(range.first);
7664 return {std::next(getOperation()->result_begin(), valueRange.first),
7665 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7669 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
7672 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7673 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7674 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7675 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7676 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7679 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);
7680 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7681 void print(::mlir::OpAsmPrinter &_odsPrinter);
7682 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7720template <
typename RangeT>
7722 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7725 NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7727 NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
NotOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7731 template <
typename LateInst = NotOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotOp>>>
7740 return {std::next(odsOperands.begin(), valueRange.first),
7741 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7760 ::llvm::LogicalResult
verify(::mlir::Location loc);
7762class NotOp :
public ::mlir::Op<NotOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7767 template <
typename RangeT>
7775 return ::llvm::StringLiteral(
"smt.not");
7784 return {std::next(getOperation()->operand_begin(), valueRange.first),
7785 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7789 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
7794 return getOperation()->getOpOperand(range.first);
7803 return {std::next(getOperation()->result_begin(), valueRange.first),
7804 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7808 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
7811 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
7812 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
7813 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
7814 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7815 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7818 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);
7819 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7820 void print(::mlir::OpAsmPrinter &_odsPrinter);
7821 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7856template <
typename RangeT>
7858 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7861 OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7863 OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7867 template <
typename LateInst = OrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrOp>>>
7876 return {std::next(odsOperands.begin(), valueRange.first),
7877 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7896 ::llvm::LogicalResult
verify(::mlir::Location loc);
7898class OrOp :
public ::mlir::Op<OrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
7903 template <
typename RangeT>
7911 return ::llvm::StringLiteral(
"smt.or");
7917 return {std::next(getOperation()->operand_begin(), valueRange.first),
7918 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7932 return {std::next(getOperation()->result_begin(), valueRange.first),
7933 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7937 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
7940 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
7941 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
7942 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7943 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7946 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);
7947 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7948 void print(::mlir::OpAsmPrinter &_odsPrinter);
7949 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7971 auto &propStorage = this->count;
7972 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
7975 this->count = propValue;
7979 rhs.
count == this->count &&
7983 return !(*
this == rhs);
8011 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().count);
8018template <
typename RangeT>
8020 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8031 template <
typename LateInst = PopOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PopOp>>>
8040 return {std::next(odsOperands.begin(), valueRange.first),
8041 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8056 ::llvm::LogicalResult
verify(::mlir::Location loc);
8058class PopOp :
public ::mlir::Op<PopOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8063 template <
typename RangeT>
8068 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"count")};
8069 return ::llvm::ArrayRef(attrNames);
8073 return getAttributeNameForIndex(0);
8077 return getAttributeNameForIndex(name, 0);
8081 return ::llvm::StringLiteral(
"smt.pop");
8090 return {std::next(getOperation()->operand_begin(), valueRange.first),
8091 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8100 return {std::next(getOperation()->result_begin(), valueRange.first),
8101 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8104 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8107 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8110 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8111 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8114 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().count);
8119 getProperties().count = attr;
8123 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count);
8124 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count);
8125 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count);
8126 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count);
8127 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8130 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8131 void print(::mlir::OpAsmPrinter &_odsPrinter);
8133 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8134 return getAttributeNameForIndex((*this)->getName(), index);
8137 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8138 assert(index < 1 &&
"invalid attribute index");
8139 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8140 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8141 "dependent dialect loading?");
8142 return name.getAttributeNames()[index];
8166 auto &propStorage = this->count;
8167 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
8170 this->count = propValue;
8174 rhs.
count == this->count &&
8178 return !(*
this == rhs);
8206 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().count);
8213template <
typename RangeT>
8215 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8226 template <
typename LateInst = PushOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PushOp>>>
8235 return {std::next(odsOperands.begin(), valueRange.first),
8236 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8251 ::llvm::LogicalResult
verify(::mlir::Location loc);
8253class PushOp :
public ::mlir::Op<PushOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8258 template <
typename RangeT>
8263 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"count")};
8264 return ::llvm::ArrayRef(attrNames);
8268 return getAttributeNameForIndex(0);
8272 return getAttributeNameForIndex(name, 0);
8276 return ::llvm::StringLiteral(
"smt.push");
8285 return {std::next(getOperation()->operand_begin(), valueRange.first),
8286 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8295 return {std::next(getOperation()->result_begin(), valueRange.first),
8296 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8299 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8302 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8305 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8306 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8309 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().count);
8314 getProperties().count = attr;
8318 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count);
8319 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count);
8320 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count);
8321 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count);
8322 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8325 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8326 void print(::mlir::OpAsmPrinter &_odsPrinter);
8328 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8329 return getAttributeNameForIndex((*this)->getName(), index);
8332 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8333 assert(index < 1 &&
"invalid attribute index");
8334 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8335 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8336 "dependent dialect loading?");
8337 return name.getAttributeNames()[index];
8377template <
typename RangeT>
8379 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8382 RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8384 RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
RepeatOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8388 template <
typename LateInst = RepeatOp,
typename = std::enable_if_t<std::is_same_v<LateInst, RepeatOp>>>
8397 return {std::next(odsOperands.begin(), valueRange.first),
8398 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8417 ::llvm::LogicalResult
verify(::mlir::Location loc);
8419class RepeatOp :
public ::mlir::Op<RepeatOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BitVectorType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait> {
8424 template <
typename RangeT>
8432 return ::llvm::StringLiteral(
"smt.bv.repeat");
8441 return {std::next(getOperation()->operand_begin(), valueRange.first),
8442 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8445 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
8446 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
8451 return getOperation()->getOpOperand(range.first);
8460 return {std::next(getOperation()->result_begin(), valueRange.first),
8461 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8464 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
8465 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
8468 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
unsigned count, mlir::Value input);
8469 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
8470 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
8471 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8472 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8473 void print(::mlir::OpAsmPrinter &p);
8476 ::llvm::LogicalResult
verify();
8477 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
8517template <
typename RangeT>
8519 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8522 ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8524 ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
ResetOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8528 template <
typename LateInst = ResetOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ResetOp>>>
8537 return {std::next(odsOperands.begin(), valueRange.first),
8538 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8553 ::llvm::LogicalResult
verify(::mlir::Location loc);
8555class ResetOp :
public ::mlir::Op<ResetOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants> {
8560 template <
typename RangeT>
8568 return ::llvm::StringLiteral(
"smt.reset");
8577 return {std::next(getOperation()->operand_begin(), valueRange.first),
8578 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8587 return {std::next(getOperation()->result_begin(), valueRange.first),
8588 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8591 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState);
8592 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes);
8593 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8596 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8597 void print(::mlir::OpAsmPrinter &_odsPrinter);
8619 auto &propStorage = this->logic;
8620 return ::llvm::cast<::mlir::StringAttr>(propStorage);
8623 this->logic = propValue;
8627 rhs.
logic == this->logic &&
8631 return !(*
this == rhs);
8659 auto attr = ::llvm::cast<::mlir::StringAttr>(
getProperties().logic);
8666template <
typename RangeT>
8668 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8679 template <
typename LateInst = SetLogicOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SetLogicOp>>>
8688 return {std::next(odsOperands.begin(), valueRange.first),
8689 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8704 ::llvm::LogicalResult
verify(::mlir::Location loc);
8706class SetLogicOp :
public ::mlir::Op<SetLogicOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::HasParent<smt::SolverOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8711 template <
typename RangeT>
8716 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"logic")};
8717 return ::llvm::ArrayRef(attrNames);
8721 return getAttributeNameForIndex(0);
8725 return getAttributeNameForIndex(name, 0);
8729 return ::llvm::StringLiteral(
"smt.set_logic");
8738 return {std::next(getOperation()->operand_begin(), valueRange.first),
8739 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8748 return {std::next(getOperation()->result_begin(), valueRange.first),
8749 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8752 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8755 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8758 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8759 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8762 return ::llvm::cast<::mlir::StringAttr>(getProperties().logic);
8767 getProperties().logic = attr;
8770 void setLogic(::llvm::StringRef attrValue);
8771 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic);
8772 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr logic);
8773 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef logic);
8774 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef logic);
8775 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8778 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8779 void print(::mlir::OpAsmPrinter &_odsPrinter);
8781 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8782 return getAttributeNameForIndex((*this)->getName(), index);
8785 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8786 assert(index < 1 &&
"invalid attribute index");
8787 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8788 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8789 "dependent dialect loading?");
8790 return name.getAttributeNames()[index];
8835template <
typename RangeT>
8837 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8840 SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8842 SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
SolverOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8846 template <
typename LateInst = SolverOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SolverOp>>>
8855 return {std::next(odsOperands.begin(), valueRange.first),
8856 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8875 ::llvm::LogicalResult
verify(::mlir::Location loc);
8877class SolverOp :
public ::mlir::Op<SolverOp, ::mlir::OpTrait::OneRegion, ::mlir::OpTrait::VariadicResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::SingleBlockImplicitTerminator<smt::YieldOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsIsolatedFromAbove> {
8882 template <
typename RangeT>
8890 return ::llvm::StringLiteral(
"smt.solver");
8896 return {std::next(getOperation()->operand_begin(), valueRange.first),
8897 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8908 return {std::next(getOperation()->result_begin(), valueRange.first),
8909 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8917 return (*this)->getRegion(0);
8920 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8924 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8925 void print(::mlir::OpAsmPrinter &_odsPrinter);
8960template <
typename RangeT>
8962 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8965 XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8967 XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
XOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8971 template <
typename LateInst = XOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XOrOp>>>
8980 return {std::next(odsOperands.begin(), valueRange.first),
8981 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
9000 ::llvm::LogicalResult
verify(::mlir::Location loc);
9002class XOrOp :
public ::mlir::Op<XOrOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::smt::BoolType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::InferTypeOpInterface::Trait> {
9007 template <
typename RangeT>
9015 return ::llvm::StringLiteral(
"smt.xor");
9021 return {std::next(getOperation()->operand_begin(), valueRange.first),
9022 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
9036 return {std::next(getOperation()->result_begin(), valueRange.first),
9037 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
9041 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
9044 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
9045 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
9046 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9047 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9050 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);
9051 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9052 void print(::mlir::OpAsmPrinter &_odsPrinter);
9053 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
9088template <
typename RangeT>
9090 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
9093 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
9095 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
YieldOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
9099 template <
typename LateInst = YieldOp,
typename = std::enable_if_t<std::is_same_v<LateInst, YieldOp>>>
9108 return {std::next(odsOperands.begin(), valueRange.first),
9109 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
9128 ::llvm::LogicalResult
verify(::mlir::Location loc);
9130class YieldOp :
public ::mlir::Op<YieldOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::HasParent<smt::SolverOp, smt::CheckOp, smt::ForallOp, smt::ExistsOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpTrait::IsTerminator, ::mlir::RegionBranchTerminatorOpInterface::Trait, ::mlir::OpTrait::ReturnLike> {
9135 template <
typename RangeT>
9143 return ::llvm::StringLiteral(
"smt.yield");
9149 return {std::next(getOperation()->operand_begin(), valueRange.first),
9150 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
9164 return {std::next(getOperation()->result_begin(), valueRange.first),
9165 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
9168 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState);
9169 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange values);
9170 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9174 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9175 void print(::mlir::OpAsmPrinter &_odsPrinter);
9176 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
::llvm::LogicalResult verify(::mlir::Location loc)
AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
AndOpGenericAdaptor(RangeT values, LateInst op)
AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AndOpGenericAdaptor(RangeT values, const AndOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
::mlir::Operation::operand_range getInputs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
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)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
AndOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariants()
::mlir::MutableOperandRange getInputsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ApplyFuncOpAdaptor(ApplyFuncOp op)
RangeT getODSOperands(unsigned index)
ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ApplyFuncOpGenericAdaptor(RangeT values, const ApplyFuncOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
ApplyFuncOpGenericAdaptor(RangeT values, LateInst op)
::mlir::MutableOperandRange getArgsMutable()
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getFuncMutable()
::mlir::TypedValue<::mlir::Type > getResult()
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args)
::mlir::TypedValue<::llzk::smt::SMTFuncType > getFunc()
::mlir::Operation::operand_range getArgs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
ApplyFuncOpGenericAdaptor< RangeT > GenericAdaptor
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
ApplyFuncOpAdaptor Adaptor
ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayBroadcastOpAdaptor(ArrayBroadcastOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
ArrayBroadcastOpGenericAdaptor(RangeT values, LateInst op)
ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayBroadcastOpGenericAdaptor(RangeT values, const ArrayBroadcastOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
ArrayBroadcastOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::mlir::Type > getValue()
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
ArrayBroadcastOpAdaptor Adaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::ArrayType > getResult()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpOperand & getValueMutable()
ArraySelectOpAdaptor(ArraySelectOp op)
ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ArraySelectOpGenericAdaptor(RangeT values, LateInst op)
ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
ArraySelectOpGenericAdaptor(RangeT values, const ArraySelectOpGenericAdaptorBase &base)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::mlir::Type > getIndex()
::mlir::Operation::result_range getODSResults(unsigned index)
ArraySelectOpAdaptor Adaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getIndexMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value array, ::mlir::Value index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpOperand & getArrayMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
ArraySelectOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
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()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::TypedValue<::llzk::smt::ArrayType > getArray()
ArrayStoreOpAdaptor(ArrayStoreOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayStoreOpGenericAdaptor(RangeT values, LateInst op)
ArrayStoreOpGenericAdaptor(RangeT values, const ArrayStoreOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayStoreOpAdaptor Adaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::mlir::Type > getValue()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::OpOperand & getIndexMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
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::TypedValue<::llzk::smt::ArrayType > getArray()
::mlir::TypedValue<::llzk::smt::ArrayType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::mlir::Type > getIndex()
::mlir::OpOperand & getArrayMutable()
ArrayStoreOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getValueMutable()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value array, ::mlir::Value index, ::mlir::Value value)
::llvm::LogicalResult verify(::mlir::Location loc)
AssertOpAdaptor(AssertOp op)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
AssertOpGenericAdaptor(RangeT values, const AssertOpGenericAdaptorBase &base)
AssertOpGenericAdaptor(RangeT values, LateInst op)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
AssertOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BoolType > getInput()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getInputMutable()
BV2IntOpAdaptor(BV2IntOp op)
BV2IntOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BV2IntOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BV2IntOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
BV2IntOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BV2IntOpGenericAdaptor(RangeT values, LateInst op)
BV2IntOpGenericAdaptor(RangeT values, const BV2IntOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
void setIsSignedAttr(::mlir::UnitAttr attr)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::UnitAttr getIsSignedAttr()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::StringAttr getIsSignedAttrName(::mlir::OperationName name)
::mlir::StringAttr getIsSignedAttrName()
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 setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::TypedValue<::llzk::smt::IntType > getResult()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input, ::mlir::UnitAttr is_signed)
::mlir::Attribute removeIsSignedAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
FoldAdaptor::Properties Properties
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
BV2IntOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getInputMutable()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void setIsSigned(bool attrValue)
::llvm::LogicalResult verify(::mlir::Location loc)
BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAShrOpAdaptor(BVAShrOp op)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAShrOpGenericAdaptor(RangeT values, const BVAShrOpGenericAdaptorBase &base)
BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVAShrOpGenericAdaptor(RangeT values, LateInst op)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::OpOperand & getLhsMutable()
static constexpr ::llvm::StringLiteral getOperationName()
::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)
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)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
BVAShrOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpOperand & getRhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAddOpAdaptor(BVAddOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVAddOpGenericAdaptor(RangeT values, const BVAddOpGenericAdaptorBase &base)
BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVAddOpGenericAdaptor(RangeT values, LateInst op)
BVAddOpGenericAdaptor(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 > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getLhsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
BVAddOpGenericAdaptor< RangeT > GenericAdaptor
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAndOpAdaptor(BVAndOp op)
BVAndOpGenericAdaptor(RangeT values, const BVAndOpGenericAdaptorBase &base)
BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVAndOpGenericAdaptor(RangeT values, LateInst op)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
BVAndOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getLhsMutable()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
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::TypedValue<::llzk::smt::BitVectorType > getResult()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
BVCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVCmpOpAdaptor(BVCmpOp op)
BVCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
BVCmpOpGenericAdaptor(RangeT values, const BVCmpOpGenericAdaptorBase &base)
BVCmpOpGenericAdaptor(RangeT values, LateInst op)
BVCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
BVCmpOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::StringAttr getPredAttrName(::mlir::OperationName name)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::OpOperand & getRhsMutable()
void setPredAttr(::llzk::smt::BVCmpPredicateAttr attr)
static llvm::hash_code computePropertiesHash(const Properties &prop)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::StringAttr getPredAttrName()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInvariantsImpl()
::llzk::smt::BVCmpPredicate getPred()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llzk::smt::BVCmpPredicateAttr getPredAttr()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void setPred(::llzk::smt::BVCmpPredicate attrValue)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
BVConstantOpAdaptor(BVConstantOp op)
BVConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVConstantOpGenericAdaptor(RangeT values, const BVConstantOpGenericAdaptorBase &base)
BVConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVConstantOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
RangeT getODSOperands(unsigned index)
BVConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::smt::BitVectorAttr getValue()
::mlir::StringAttr getValueAttrName(::mlir::OperationName name)
::llzk::smt::BitVectorAttr getValueAttr()
::mlir::Operation::result_range getODSResults(unsigned index)
void setValueAttr(::llzk::smt::BitVectorAttr attr)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getValueAttrName()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(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)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, const llvm::APInt &value)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static llvm::hash_code computePropertiesHash(const Properties &prop)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
BVConstantOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
BVConstantOpAdaptor Adaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
BVLShrOpAdaptor(BVLShrOp op)
BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
BVLShrOpGenericAdaptor(RangeT values, LateInst op)
BVLShrOpGenericAdaptor(RangeT values, const BVLShrOpGenericAdaptorBase &base)
BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
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<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
BVLShrOpGenericAdaptor< RangeT > GenericAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
BVMulOpAdaptor(BVMulOp op)
BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVMulOpGenericAdaptor(RangeT values, const BVMulOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVMulOpGenericAdaptor(RangeT values, LateInst op)
BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::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<::llzk::smt::BitVectorType > getRhs()
::mlir::OpOperand & getRhsMutable()
::mlir::OpOperand & getLhsMutable()
BVMulOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verify(::mlir::Location loc)
BVNegOpAdaptor(BVNegOp op)
BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVNegOpGenericAdaptor(RangeT values, LateInst op)
BVNegOpGenericAdaptor(RangeT values, const BVNegOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::OpOperand & getInputMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
BVNegOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
static constexpr ::llvm::StringLiteral getOperationName()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::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<::llzk::smt::BitVectorType > getResult()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVNotOpAdaptor(BVNotOp op)
BVNotOpGenericAdaptor(RangeT values, const BVNotOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVNotOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVNotOpGenericAdaptor< RangeT > GenericAdaptor
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::OpOperand & getInputMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
::llvm::LogicalResult verifyInvariantsImpl()
BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVOrOpGenericAdaptor(RangeT values, const BVOrOpGenericAdaptorBase &base)
BVOrOpGenericAdaptor(RangeT values, LateInst op)
BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verifyInvariants()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getRhsMutable()
::mlir::OpOperand & getLhsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::Operation::result_range getODSResults(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
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)
BVOrOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verify(::mlir::Location loc)
BVSDivOpAdaptor(BVSDivOp op)
BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
BVSDivOpGenericAdaptor(RangeT values, const BVSDivOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVSDivOpGenericAdaptor(RangeT values, LateInst op)
BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
BVSDivOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpOperand & getRhsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::llvm::LogicalResult verify(::mlir::Location loc)
BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSModOpAdaptor(BVSModOp op)
BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSModOpGenericAdaptor(RangeT values, LateInst op)
BVSModOpGenericAdaptor(RangeT values, const BVSModOpGenericAdaptorBase &base)
BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
BVSModOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verify(::mlir::Location loc)
BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSRemOpAdaptor(BVSRemOp op)
BVSRemOpGenericAdaptor(RangeT values, const BVSRemOpGenericAdaptorBase &base)
BVSRemOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::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::TypedValue<::llzk::smt::BitVectorType > getLhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult verifyInvariantsImpl()
BVSRemOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verify(::mlir::Location loc)
BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVShlOpAdaptor(BVShlOp op)
BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVShlOpGenericAdaptor(RangeT values, LateInst op)
BVShlOpGenericAdaptor(RangeT values, const BVShlOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
::mlir::OpOperand & getRhsMutable()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
BVShlOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariants()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
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)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
BVUDivOpAdaptor(BVUDivOp op)
BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BVUDivOpGenericAdaptor(RangeT values, const BVUDivOpGenericAdaptorBase &base)
BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVUDivOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
BVUDivOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::OpOperand & getLhsMutable()
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(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
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::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::TypedValue<::llzk::smt::BitVectorType > getResult()
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVURemOpAdaptor(BVURemOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVURemOpGenericAdaptor(RangeT values, const BVURemOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BVURemOpGenericAdaptor(RangeT values, LateInst op)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::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<::llzk::smt::BitVectorType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
BVURemOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariantsImpl()
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::OpOperand & getRhsMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
BVXOrOpAdaptor(BVXOrOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
BVXOrOpGenericAdaptor(RangeT values, const BVXOrOpGenericAdaptorBase &base)
BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BVXOrOpGenericAdaptor(RangeT values, LateInst op)
BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
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)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::OpOperand & getLhsMutable()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::mlir::OpOperand & getRhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
BVXOrOpGenericAdaptor< RangeT > GenericAdaptor
BoolConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
BoolConstantOpAdaptor(BoolConstantOp op)
BoolConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
BoolConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
BoolConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
BoolConstantOpGenericAdaptor(RangeT values, LateInst op)
BoolConstantOpGenericAdaptor(RangeT values, const BoolConstantOpGenericAdaptorBase &base)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
BoolConstantOpGenericAdaptor< RangeT > GenericAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void setValueAttr(::mlir::BoolAttr attr)
::llvm::LogicalResult verifyInvariantsImpl()
BoolConstantOpAdaptor Adaptor
::mlir::Operation::result_range getODSResults(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::StringAttr getValueAttrName()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
FoldAdaptor::Properties Properties
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
void setValue(bool attrValue)
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariants()
::mlir::BoolAttr getValueAttr()
::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::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::StringAttr getValueAttrName(::mlir::OperationName name)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verify(::mlir::Location loc)
CheckOpAdaptor(CheckOp op)
CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
CheckOpGenericAdaptor(RangeT values, LateInst op)
CheckOpGenericAdaptor(RangeT values, const CheckOpGenericAdaptorBase &base)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Region & getUnsatRegion()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
CheckOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Region & getUnknownRegion()
::mlir::Region & getSatRegion()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariants()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyRegions()
::mlir::Operation::result_range getResults()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::result_range getODSResults(unsigned index)
ConcatOpAdaptor(ConcatOp op)
ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ConcatOpGenericAdaptor(RangeT values, const ConcatOpGenericAdaptorBase &base)
ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ConcatOpGenericAdaptor(RangeT values, LateInst op)
ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::BitVectorType > getRhs()
::mlir::OpOperand & getLhsMutable()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
ConcatOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::smt::BitVectorType > getLhs()
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
DeclareFunOpAdaptor(DeclareFunOp op)
DeclareFunOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
DeclareFunOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
DeclareFunOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
DeclareFunOpGenericAdaptor(RangeT values, LateInst op)
DeclareFunOpGenericAdaptor(RangeT values, const DeclareFunOpGenericAdaptorBase &base)
DeclareFunOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void setNamePrefix(::std::optional<::llvm::StringRef > attrValue)
::mlir::StringAttr getNamePrefixAttr()
DeclareFunOpAdaptor Adaptor
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::StringAttr getNamePrefixAttrName(::mlir::OperationName name)
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Attribute removeNamePrefixAttr()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static llvm::hash_code computePropertiesHash(const Properties &prop)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::std::optional< ::llvm::StringRef > getNamePrefix()
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::StringAttr getNamePrefixAttrName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void setNamePrefixAttr(::mlir::StringAttr attr)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Type type)
DeclareFunOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
DistinctOpAdaptor(DistinctOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
DistinctOpGenericAdaptor(RangeT values, LateInst op)
DistinctOpGenericAdaptor(RangeT values, const DistinctOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::Operation::operand_range getInputs()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
DistinctOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getODSOperands(unsigned index)
DistinctOpAdaptor Adaptor
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &p)
::llvm::LogicalResult verify()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
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 verifyInvariantsImpl()
::mlir::MutableOperandRange getInputsMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verify(::mlir::Location loc)
EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
EqOpGenericAdaptor(RangeT values, LateInst op)
EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
EqOpGenericAdaptor(RangeT values, const EqOpGenericAdaptorBase &base)
::llvm::LogicalResult verifyInvariants()
::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)
EqOpGenericAdaptor< RangeT > GenericAdaptor
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::MutableOperandRange getInputsMutable()
::mlir::Operation::operand_range getInputs()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
static constexpr ::llvm::StringLiteral getOperationName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
void print(::mlir::OpAsmPrinter &p)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verify()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
ExistsOpAdaptor(ExistsOp op)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
ExistsOpGenericAdaptor(RangeT values, const ExistsOpGenericAdaptorBase &base)
ExistsOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
ExistsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::Region & getBody()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
FoldAdaptor::Properties Properties
::llvm::LogicalResult verify()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyRegions()
::mlir::StringAttr getNoPatternAttrName()
::llvm::LogicalResult verifyInvariantsImpl()
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::MutableArrayRef<::mlir::Region > getPatterns()
void setWeightAttr(::mlir::IntegerAttr attr)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getNoPatternAttrName(::mlir::OperationName name)
::mlir::Attribute removeNoPatternAttr()
void setNoPattern(bool attrValue)
::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::UnitAttr getNoPatternAttr()
::mlir::Operation::result_range getODSResults(unsigned index)
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ArrayAttr getBoundVarNamesAttr()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::mlir::StringAttr getBoundVarNamesAttrName(::mlir::OperationName name)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::StringAttr getWeightAttrName()
ExistsOpGenericAdaptor< RangeT > GenericAdaptor
void setNoPatternAttr(::mlir::UnitAttr attr)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::TypeRange boundVarTypes, llvm::function_ref< mlir::Value(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> bodyBuilder, std::optional< llvm::ArrayRef< mlir::StringRef > > boundVarNames=std::nullopt, llvm::function_ref< mlir::ValueRange(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> patternBuilder={}, uint32_t weight=0, bool noPattern=false)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Attribute removeBoundVarNamesAttr()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getBoundVarNamesAttrName()
::mlir::IntegerAttr getWeightAttr()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::StringAttr getWeightAttrName(::mlir::OperationName name)
void setBoundVarNamesAttr(::mlir::ArrayAttr attr)
void setWeight(uint32_t attrValue)
ForallOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ForallOpAdaptor(ForallOp op)
ForallOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
ForallOpGenericAdaptor(RangeT values, const ForallOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
ForallOpGenericAdaptor(RangeT values, LateInst op)
ForallOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ForallOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::llvm::LogicalResult verifyRegions()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void setBoundVarNamesAttr(::mlir::ArrayAttr attr)
::mlir::Operation::operand_range getODSOperands(unsigned index)
ForallOpGenericAdaptor< RangeT > GenericAdaptor
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::StringAttr getBoundVarNamesAttrName()
void setNoPatternAttr(::mlir::UnitAttr attr)
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::llvm::LogicalResult verify()
::mlir::Region & getBody()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ArrayAttr getBoundVarNamesAttr()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::IntegerAttr getWeightAttr()
::mlir::StringAttr getBoundVarNamesAttrName(::mlir::OperationName name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::StringAttr getWeightAttrName()
::mlir::StringAttr getWeightAttrName(::mlir::OperationName name)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::TypeRange boundVarTypes, llvm::function_ref< mlir::Value(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> bodyBuilder, std::optional< llvm::ArrayRef< mlir::StringRef > > boundVarNames=std::nullopt, llvm::function_ref< mlir::ValueRange(mlir::OpBuilder &, mlir::Location, mlir::ValueRange)> patternBuilder={}, uint32_t weight=0, bool noPattern=false)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::StringAttr getNoPatternAttrName()
::mlir::Attribute removeBoundVarNamesAttr()
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void setWeight(uint32_t attrValue)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::UnitAttr getNoPatternAttr()
void setWeightAttr(::mlir::IntegerAttr attr)
::mlir::MutableArrayRef<::mlir::Region > getPatterns()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::Attribute removeNoPatternAttr()
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
::mlir::StringAttr getNoPatternAttrName(::mlir::OperationName name)
void setNoPattern(bool attrValue)
::llvm::LogicalResult verifyInvariants()
FoldAdaptor::Properties Properties
ImpliesOpAdaptor(ImpliesOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
ImpliesOpGenericAdaptor(RangeT values, LateInst op)
ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
ImpliesOpGenericAdaptor(RangeT values, const ImpliesOpGenericAdaptorBase &base)
static constexpr ::llvm::StringLiteral getOperationName()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::BoolType > getRhs()
::mlir::TypedValue<::llzk::smt::BoolType > getLhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getRhsMutable()
ImpliesOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
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 ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Int2BVOpAdaptor(Int2BVOp op)
RangeT getODSOperands(unsigned index)
Int2BVOpGenericAdaptor(RangeT values, LateInst op)
Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Int2BVOpGenericAdaptor(RangeT values, const Int2BVOpGenericAdaptorBase &base)
Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::OpOperand & getInputMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
Int2BVOpGenericAdaptor< RangeT > GenericAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::llzk::smt::IntType > getInput()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
IntAbsOpAdaptor(IntAbsOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
IntAbsOpGenericAdaptor(RangeT values, const IntAbsOpGenericAdaptorBase &base)
IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntAbsOpGenericAdaptor(RangeT values, LateInst op)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::OpOperand & getInputMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
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)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::IntType > getResult()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
IntAbsOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::llzk::smt::IntType > getInput()
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntAddOpAdaptor(IntAddOp op)
IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
IntAddOpGenericAdaptor(RangeT values, const IntAddOpGenericAdaptorBase &base)
IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
IntAddOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::operand_range getInputs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
IntAddOpGenericAdaptor< RangeT > GenericAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariantsImpl()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::mlir::MutableOperandRange getInputsMutable()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
IntCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
IntCmpOpAdaptor(IntCmpOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntCmpOpGenericAdaptor(RangeT values, LateInst op)
IntCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
RangeT getODSOperands(unsigned index)
IntCmpOpGenericAdaptor(RangeT values, const IntCmpOpGenericAdaptorBase &base)
IntCmpOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::StringAttr getPredAttrName()
IntCmpOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void setPred(::llzk::smt::IntPredicate attrValue)
FoldAdaptor::Properties Properties
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
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)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void setPredAttr(::llzk::smt::IntPredicateAttr attr)
::llzk::smt::IntPredicate getPred()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::OpOperand & getRhsMutable()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
::mlir::OpOperand & getLhsMutable()
::llzk::smt::IntPredicateAttr getPredAttr()
::mlir::StringAttr getPredAttrName(::mlir::OperationName name)
IntConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
IntConstantOpAdaptor(IntConstantOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
IntConstantOpGenericAdaptor(RangeT values, LateInst op)
IntConstantOpGenericAdaptor(RangeT values, const IntConstantOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
IntConstantOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void print(::mlir::OpAsmPrinter &p)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpFoldResult fold(FoldAdaptor adaptor)
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::llvm::LogicalResult verifyInvariants()
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
static constexpr ::llvm::StringLiteral getOperationName()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
FoldAdaptor::Properties Properties
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::StringAttr getValueAttrName(::mlir::OperationName name)
::mlir::Operation::result_range getODSResults(unsigned index)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::mlir::IntegerAttr getValueAttr()
IntConstantOpAdaptor Adaptor
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::StringAttr getValueAttrName()
IntConstantOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
void setValueAttr(::mlir::IntegerAttr attr)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verify(::mlir::Location loc)
IntDivOpAdaptor(IntDivOp op)
IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntDivOpGenericAdaptor(RangeT values, LateInst op)
IntDivOpGenericAdaptor(RangeT values, const IntDivOpGenericAdaptorBase &base)
IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::llvm::LogicalResult verifyInvariants()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getRhsMutable()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
IntDivOpGenericAdaptor< RangeT > GenericAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::OpOperand & getLhsMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntModOpAdaptor(IntModOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
IntModOpGenericAdaptor(RangeT values, const IntModOpGenericAdaptorBase &base)
IntModOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getODSResults(unsigned index)
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 & getRhsMutable()
::mlir::OpOperand & getLhsMutable()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
IntModOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::smt::IntType > getResult()
IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntMulOpAdaptor(IntMulOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
IntMulOpGenericAdaptor(RangeT values, LateInst op)
IntMulOpGenericAdaptor(RangeT values, const IntMulOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::result_range getODSResults(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getInputs()
::llvm::LogicalResult verifyInvariantsImpl()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::Operation::operand_range getODSOperands(unsigned index)
IntMulOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
::mlir::MutableOperandRange getInputsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntNegOpAdaptor(IntNegOp op)
IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
IntNegOpGenericAdaptor(RangeT values, const IntNegOpGenericAdaptorBase &base)
IntNegOpGenericAdaptor(RangeT values, LateInst op)
IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
IntNegOpGenericAdaptor< RangeT > GenericAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getInputMutable()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::mlir::TypedValue<::llzk::smt::IntType > getInput()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::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)
IntSubOpAdaptor(IntSubOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IntSubOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
IntSubOpGenericAdaptor(RangeT values, const IntSubOpGenericAdaptorBase &base)
IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
::mlir::TypedValue<::llzk::smt::IntType > getLhs()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs)
static constexpr ::llvm::StringLiteral getOperationName()
void print(::mlir::OpAsmPrinter &_odsPrinter)
IntSubOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::OpOperand & getRhsMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult inferReturnTypes(::mlir::MLIRContext *context, ::std::optional<::mlir::Location > location, ::mlir::ValueRange operands, ::mlir::DictionaryAttr attributes, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions, ::llvm::SmallVectorImpl<::mlir::Type > &inferredReturnTypes)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::IntType > getRhs()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariants()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::smt::IntType > getResult()
::mlir::OpOperand & getLhsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
IteOpGenericAdaptor(RangeT values, const IteOpGenericAdaptorBase &base)
IteOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
::mlir::OpOperand & getCondMutable()
IteOpGenericAdaptor< RangeT > GenericAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::mlir::TypedValue<::mlir::Type > getElseValue()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::mlir::Type > getThenValue()
::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
::llvm::LogicalResult verifyInvariants()
::mlir::OpOperand & getThenValueMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue)
::mlir::TypedValue<::mlir::Type > getResult()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::OpOperand & getElseValueMutable()
::mlir::TypedValue<::llzk::smt::BoolType > getCond()
NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
NotOpGenericAdaptor(RangeT values, const NotOpGenericAdaptorBase &base)
NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NotOpGenericAdaptor(RangeT values, LateInst op)
void print(::mlir::OpAsmPrinter &_odsPrinter)
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)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::TypedValue<::llzk::smt::BoolType > getInput()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
NotOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input)
::mlir::OpOperand & getInputMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
OrOpGenericAdaptor(RangeT values, LateInst op)
OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
OrOpGenericAdaptor(RangeT values, const OrOpGenericAdaptorBase &base)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
OrOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::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::MutableOperandRange getInputsMutable()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::operand_range getInputs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
PopOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
PopOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
PopOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
PopOpGenericAdaptor(RangeT values, const PopOpGenericAdaptorBase &base)
PopOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
PopOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::StringAttr getCountAttrName()
FoldAdaptor::Properties Properties
::mlir::StringAttr getCountAttrName(::mlir::OperationName name)
::mlir::Operation::result_range getODSResults(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult verifyInvariantsImpl()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
static constexpr ::llvm::StringLiteral getOperationName()
void setCount(uint32_t attrValue)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::IntegerAttr getCountAttr()
::llvm::LogicalResult verifyInvariants()
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
PopOpGenericAdaptor< RangeT > GenericAdaptor
void setCountAttr(::mlir::IntegerAttr attr)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
PushOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
PushOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
PushOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
PushOpGenericAdaptor(RangeT values, const PushOpGenericAdaptorBase &base)
PushOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
PushOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getCountAttrName(::mlir::OperationName name)
void setCountAttr(::mlir::IntegerAttr attr)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifyInvariants()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Operation::operand_range getODSOperands(unsigned index)
PushOpGenericAdaptor< RangeT > GenericAdaptor
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
FoldAdaptor::Properties Properties
::mlir::StringAttr getCountAttrName()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::IntegerAttr getCountAttr()
static llvm::hash_code computePropertiesHash(const Properties &prop)
void setCount(uint32_t attrValue)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
RepeatOpAdaptor(RepeatOp op)
RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
RepeatOpGenericAdaptor(RangeT values, const RepeatOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
RangeT getODSOperands(unsigned index)
RepeatOpGenericAdaptor(RangeT values, LateInst op)
RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::TypedValue<::llzk::smt::BitVectorType > getInput()
::llvm::LogicalResult verify()
::mlir::TypedValue<::llzk::smt::BitVectorType > getResult()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, unsigned count, mlir::Value input)
::mlir::OpOperand & getInputMutable()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &p)
::mlir::Operation::operand_range getODSOperands(unsigned index)
unsigned getCount()
Get the number of times the input operand is repeated.
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
RepeatOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariantsImpl()
ResetOpAdaptor(ResetOp op)
ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
ResetOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ResetOpGenericAdaptor(RangeT values, const ResetOpGenericAdaptorBase &base)
ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
ResetOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::llvm::LogicalResult verifyInvariants()
void print(::mlir::OpAsmPrinter &_odsPrinter)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
SetLogicOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
SetLogicOpAdaptor(SetLogicOp op)
RangeT getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SetLogicOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
SetLogicOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SetLogicOpGenericAdaptor(RangeT values, const SetLogicOpGenericAdaptorBase &base)
SetLogicOpGenericAdaptor(RangeT values, LateInst op)
SetLogicOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::StringRef getLogic()
static llvm::hash_code computePropertiesHash(const Properties &prop)
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
SetLogicOpAdaptor Adaptor
::mlir::StringAttr getLogicAttr()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
SetLogicOpGenericAdaptor< RangeT > GenericAdaptor
::llvm::LogicalResult verifyInvariants()
void setLogic(::llvm::StringRef attrValue)
::mlir::StringAttr getLogicAttrName()
::mlir::StringAttr getLogicAttrName(::mlir::OperationName name)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
FoldAdaptor::Properties Properties
void setLogicAttr(::mlir::StringAttr attr)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::LogicalResult verify(::mlir::Location loc)
SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SolverOpAdaptor(SolverOp op)
SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
SolverOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
SolverOpGenericAdaptor(RangeT values, const SolverOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::Operation::result_range getResults()
::mlir::Operation::operand_range getODSOperands(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyRegions()
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Region & getBodyRegion()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
SolverOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Operation::operand_range getInputs()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::MutableOperandRange getInputsMutable()
::llvm::LogicalResult verify(::mlir::Location loc)
XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
XOrOpGenericAdaptor(RangeT values, const XOrOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
XOrOpGenericAdaptor(RangeT values, LateInst op)
XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::TypedValue<::llzk::smt::BoolType > getResult()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariantsImpl()
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::operand_range getODSOperands(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::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)
XOrOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::MutableOperandRange getInputsMutable()
static constexpr ::llvm::StringLiteral getOperationName()
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::operand_range getInputs()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verify(::mlir::Location loc)
YieldOpAdaptor(YieldOp op)
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
YieldOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
YieldOpGenericAdaptor(RangeT values, const YieldOpGenericAdaptorBase &base)
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
YieldOpGenericAdaptor< RangeT > GenericAdaptor
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::mlir::MutableOperandRange getValuesMutable()
static constexpr ::llvm::StringLiteral getOperationName()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInvariants()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::Operation::operand_range getValues()
::mlir::MutableOperandRange getMutableSuccessorOperands(::mlir::RegionBranchPoint point)
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
::mlir::Operation::result_range getODSResults(unsigned index)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariantsImpl()
AndOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
AndOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
ApplyFuncOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
ApplyFuncOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
ArrayBroadcastOpGenericAdaptorBase(::mlir::Operation *op)
ArrayBroadcastOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
ArraySelectOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
ArraySelectOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
ArrayStoreOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ArrayStoreOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
AssertOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
AssertOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BV2IntOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::UnitAttr getIsSignedAttr()
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
BVAShrOpGenericAdaptorBase(::mlir::Operation *op)
BVAShrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVAddOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
BVAddOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
BVAndOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
BVAndOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::llzk::smt::BVCmpPredicateAttr getPredAttr()
::llzk::smt::BVCmpPredicate getPred()
BVCmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::llzk::smt::BitVectorAttr getValueAttr()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
BVConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::llzk::smt::BitVectorAttr getValue()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
BVLShrOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
BVLShrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
BVMulOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
BVMulOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
BVNegOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
BVNegOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
BVNotOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BVNotOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BVOrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
BVOrOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
BVSDivOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSDivOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
BVSModOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
BVSModOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BVSRemOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVSRemOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
BVShlOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
BVShlOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
BVUDivOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
BVUDivOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
BVURemOpGenericAdaptorBase(::mlir::Operation *op)
BVURemOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
BVXOrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
BVXOrOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
BoolConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::mlir::BoolAttr getValueAttr()
::mlir::Region & getUnsatRegion()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::mlir::Region & getUnknownRegion()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
CheckOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::Region & getSatRegion()
CheckOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange getRegions()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
ConcatOpGenericAdaptorBase(::mlir::Operation *op)
ConcatOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
DeclareFunOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::StringAttr getNamePrefixAttr()
::std::optional< ::llvm::StringRef > getNamePrefix()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
DistinctOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
DistinctOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
EqOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
EqOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange getPatterns()
::mlir::ArrayAttr getBoundVarNamesAttr()
const Properties & getProperties()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::Region & getBody()
::mlir::IntegerAttr getWeightAttr()
::std::optional<::mlir::OperationName > odsOpName
::mlir::UnitAttr getNoPatternAttr()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange getRegions()
::mlir::RegionRange odsRegions
ExistsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
const Properties & getProperties()
::std::optional< ::mlir::ArrayAttr > getBoundVarNames()
::mlir::RegionRange odsRegions
::mlir::Region & getBody()
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange getPatterns()
::mlir::IntegerAttr getWeightAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
ForallOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange getRegions()
::mlir::UnitAttr getNoPatternAttr()
::mlir::ArrayAttr getBoundVarNamesAttr()
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
ImpliesOpGenericAdaptorBase(::mlir::Operation *op)
ImpliesOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Int2BVOpGenericAdaptorBase(::mlir::Operation *op)
Int2BVOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
IntAbsOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
IntAbsOpGenericAdaptorBase(::mlir::Operation *op)
IntAddOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
IntAddOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::llzk::smt::IntPredicate getPred()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::llzk::smt::IntPredicateAttr getPredAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
IntCmpOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
IntConstantOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::IntegerAttr getValueAttr()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
IntDivOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
IntDivOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
IntModOpGenericAdaptorBase(::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::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
IntModOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
IntMulOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
IntMulOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::mlir::RegionRange odsRegions
IntNegOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
IntNegOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
IntSubOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
IntSubOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
IteOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
IteOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
NotOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
NotOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
OrOpGenericAdaptorBase(::mlir::Operation *op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
OrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::IntegerAttr getCountAttr()
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
PopOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::std::optional<::mlir::OperationName > odsOpName
::mlir::IntegerAttr getCountAttr()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
PushOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
RepeatOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
RepeatOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
ResetOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
ResetOpGenericAdaptorBase(::mlir::Operation *op)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
SetLogicOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::StringAttr getLogicAttr()
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::llvm::StringRef getLogic()
const Properties & getProperties()
::std::optional<::mlir::OperationName > odsOpName
SolverOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::Region & getBodyRegion()
SolverOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange getRegions()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
XOrOpGenericAdaptorBase(::mlir::Operation *op)
::mlir::DictionaryAttr odsAttrs
XOrOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
YieldOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
YieldOpGenericAdaptorBase(::mlir::Operation *op)
void setIsSigned(const ::mlir::UnitAttr &propValue)
bool operator==(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
::mlir::UnitAttr is_signedTy
bool operator!=(const Properties &rhs) const
void setPred(const ::llzk::smt::BVCmpPredicateAttr &propValue)
bool operator==(const Properties &rhs) const
::llzk::smt::BVCmpPredicateAttr predTy
::llzk::smt::BitVectorAttr valueTy
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
void setValue(const ::llzk::smt::BitVectorAttr &propValue)
void setValue(const ::mlir::BoolAttr &propValue)
bool operator==(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
void setNamePrefix(const ::mlir::StringAttr &propValue)
::mlir::StringAttr namePrefixTy
void setNoPattern(const ::mlir::UnitAttr &propValue)
void setBoundVarNames(const ::mlir::ArrayAttr &propValue)
::mlir::IntegerAttr weightTy
bool operator==(const Properties &rhs) const
void setWeight(const ::mlir::IntegerAttr &propValue)
::mlir::UnitAttr noPatternTy
boundVarNamesTy boundVarNames
::mlir::ArrayAttr boundVarNamesTy
bool operator!=(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
::mlir::IntegerAttr weightTy
void setWeight(const ::mlir::IntegerAttr &propValue)
::mlir::ArrayAttr boundVarNamesTy
bool operator==(const Properties &rhs) const
void setNoPattern(const ::mlir::UnitAttr &propValue)
boundVarNamesTy boundVarNames
::mlir::UnitAttr noPatternTy
void setBoundVarNames(const ::mlir::ArrayAttr &propValue)
bool operator==(const Properties &rhs) const
::llzk::smt::IntPredicateAttr predTy
bool operator!=(const Properties &rhs) const
void setPred(const ::llzk::smt::IntPredicateAttr &propValue)
bool operator==(const Properties &rhs) const
void setValue(const ::mlir::IntegerAttr &propValue)
bool operator!=(const Properties &rhs) const
::mlir::IntegerAttr valueTy
void setCount(const ::mlir::IntegerAttr &propValue)
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
::mlir::IntegerAttr countTy
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
void setCount(const ::mlir::IntegerAttr &propValue)
::mlir::IntegerAttr countTy
bool operator==(const Properties &rhs) const
::mlir::StringAttr logicTy
bool operator!=(const Properties &rhs) const
void setLogic(const ::mlir::StringAttr &propValue)