321template <
typename RangeT>
323 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
326 AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
328 AndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
AndOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
332 template <
typename LateInst = AndOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AndOp>>>
341 return {std::next(odsOperands.begin(), valueRange.first),
342 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
361 ::llvm::LogicalResult
verify(::mlir::Location loc);
363class 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> {
368 template <
typename RangeT>
376 return ::llvm::StringLiteral(
"smt.and");
382 return {std::next(getOperation()->operand_begin(), valueRange.first),
383 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
397 return {std::next(getOperation()->result_begin(), valueRange.first),
398 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
402 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
405 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
406 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
407 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
408 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
411 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);
412 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
413 void print(::mlir::OpAsmPrinter &_odsPrinter);
414 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
449template <
typename RangeT>
451 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
454 ApplyFuncOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
460 template <
typename LateInst = ApplyFuncOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ApplyFuncOp>>>
469 return {std::next(odsOperands.begin(), valueRange.first),
470 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
493 ::llvm::LogicalResult
verify(::mlir::Location loc);
495class 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> {
500 template <
typename RangeT>
508 return ::llvm::StringLiteral(
"smt.apply_func");
514 return {std::next(getOperation()->operand_begin(), valueRange.first),
515 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
518 ::mlir::TypedValue<::llzk::smt::SMTFuncType>
getFunc() {
519 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::SMTFuncType>>(*
getODSOperands(0).begin());
528 return getOperation()->getOpOperand(range.first);
538 return {std::next(getOperation()->result_begin(), valueRange.first),
539 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
543 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
546 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value func, ::mlir::ValueRange args);
547 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value func, ::mlir::ValueRange args);
548 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value func, ::mlir::ValueRange args);
549 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
550 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
553 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);
554 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
555 void print(::mlir::OpAsmPrinter &_odsPrinter);
556 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
594template <
typename RangeT>
596 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
599 ArrayBroadcastOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
605 template <
typename LateInst = ArrayBroadcastOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArrayBroadcastOp>>>
614 return {std::next(odsOperands.begin(), valueRange.first),
615 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
634 ::llvm::LogicalResult
verify(::mlir::Location loc);
636class 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> {
641 template <
typename RangeT>
649 return ::llvm::StringLiteral(
"smt.array.broadcast");
658 return {std::next(getOperation()->operand_begin(), valueRange.first),
659 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
663 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(0).begin());
668 return getOperation()->getOpOperand(range.first);
677 return {std::next(getOperation()->result_begin(), valueRange.first),
678 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
681 ::mlir::TypedValue<::llzk::smt::ArrayType>
getResult() {
682 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSResults(0).begin());
685 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value value);
686 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value value);
687 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
690 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
691 void print(::mlir::OpAsmPrinter &_odsPrinter);
692 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
730template <
typename RangeT>
732 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
735 ArraySelectOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
741 template <
typename LateInst = ArraySelectOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArraySelectOp>>>
750 return {std::next(odsOperands.begin(), valueRange.first),
751 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
774 ::llvm::LogicalResult
verify(::mlir::Location loc);
776class 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> {
781 template <
typename RangeT>
789 return ::llvm::StringLiteral(
"smt.array.select");
798 return {std::next(getOperation()->operand_begin(), valueRange.first),
799 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
802 ::mlir::TypedValue<::llzk::smt::ArrayType>
getArray() {
803 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSOperands(0).begin());
807 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
812 return getOperation()->getOpOperand(range.first);
817 return getOperation()->getOpOperand(range.first);
826 return {std::next(getOperation()->result_begin(), valueRange.first),
827 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
831 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
834 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index);
835 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index);
836 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index);
837 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
838 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
841 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);
842 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
843 void print(::mlir::OpAsmPrinter &_odsPrinter);
844 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
882template <
typename RangeT>
884 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
887 ArrayStoreOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
893 template <
typename LateInst = ArrayStoreOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ArrayStoreOp>>>
902 return {std::next(odsOperands.begin(), valueRange.first),
903 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
930 ::llvm::LogicalResult
verify(::mlir::Location loc);
932class 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> {
937 template <
typename RangeT>
945 return ::llvm::StringLiteral(
"smt.array.store");
954 return {std::next(getOperation()->operand_begin(), valueRange.first),
955 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
958 ::mlir::TypedValue<::llzk::smt::ArrayType>
getArray() {
959 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSOperands(0).begin());
963 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
967 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(2).begin());
972 return getOperation()->getOpOperand(range.first);
977 return getOperation()->getOpOperand(range.first);
982 return getOperation()->getOpOperand(range.first);
991 return {std::next(getOperation()->result_begin(), valueRange.first),
992 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
995 ::mlir::TypedValue<::llzk::smt::ArrayType>
getResult() {
996 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::ArrayType>>(*
getODSResults(0).begin());
999 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
1000 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
1001 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
array, ::mlir::Value index, ::mlir::Value value);
1002 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1003 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1006 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);
1007 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1008 void print(::mlir::OpAsmPrinter &_odsPrinter);
1009 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1047template <
typename RangeT>
1049 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1052 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1054 AssertOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
AssertOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1058 template <
typename LateInst = AssertOp,
typename = std::enable_if_t<std::is_same_v<LateInst, AssertOp>>>
1067 return {std::next(odsOperands.begin(), valueRange.first),
1068 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1087 ::llvm::LogicalResult
verify(::mlir::Location loc);
1089class AssertOp :
public ::mlir::Op<AssertOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants> {
1094 template <
typename RangeT>
1102 return ::llvm::StringLiteral(
"smt.assert");
1111 return {std::next(getOperation()->operand_begin(), valueRange.first),
1112 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1116 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
1121 return getOperation()->getOpOperand(range.first);
1130 return {std::next(getOperation()->result_begin(), valueRange.first),
1131 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1134 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
1135 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
1136 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1139 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1140 void print(::mlir::OpAsmPrinter &_odsPrinter);
1162 auto &propStorage = this->is_signed;
1163 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
1166 this->is_signed = propValue;
1174 return !(*
this == rhs);
1205template <
typename RangeT>
1207 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1218 template <
typename LateInst = BV2IntOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BV2IntOp>>>
1227 return {std::next(odsOperands.begin(), valueRange.first),
1228 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1247 ::llvm::LogicalResult
verify(::mlir::Location loc);
1249class 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> {
1254 template <
typename RangeT>
1259 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"is_signed")};
1260 return ::llvm::ArrayRef(attrNames);
1264 return getAttributeNameForIndex(0);
1268 return getAttributeNameForIndex(name, 0);
1272 return ::llvm::StringLiteral(
"smt.bv2int");
1281 return {std::next(getOperation()->operand_begin(), valueRange.first),
1282 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1285 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
1286 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1291 return getOperation()->getOpOperand(range.first);
1300 return {std::next(getOperation()->result_begin(), valueRange.first),
1301 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1305 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
1308 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1311 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
1314 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1315 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
1318 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().is_signed);
1323 getProperties().is_signed = attr;
1328 auto &attr = getProperties().is_signed;
1333 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1334 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1335 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input, ::mlir::UnitAttr is_signed);
1336 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input,
bool is_signed =
false);
1337 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input,
bool is_signed =
false);
1338 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input,
bool is_signed =
false);
1339 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1340 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1343 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);
1344 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1345 void print(::mlir::OpAsmPrinter &_odsPrinter);
1346 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1348 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
1349 return getAttributeNameForIndex((*this)->getName(), index);
1352 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
1353 assert(index < 1 &&
"invalid attribute index");
1354 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
1355 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
1356 "dependent dialect loading?");
1357 return name.getAttributeNames()[index];
1397template <
typename RangeT>
1399 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1402 BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1404 BVAShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAShrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1408 template <
typename LateInst = BVAShrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAShrOp>>>
1417 return {std::next(odsOperands.begin(), valueRange.first),
1418 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1441 ::llvm::LogicalResult
verify(::mlir::Location loc);
1443class 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> {
1448 template <
typename RangeT>
1456 return ::llvm::StringLiteral(
"smt.bv.ashr");
1465 return {std::next(getOperation()->operand_begin(), valueRange.first),
1466 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1469 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1470 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1473 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1474 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1479 return getOperation()->getOpOperand(range.first);
1484 return getOperation()->getOpOperand(range.first);
1493 return {std::next(getOperation()->result_begin(), valueRange.first),
1494 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1497 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1498 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1501 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1502 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1503 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1504 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1505 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1508 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);
1509 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1510 void print(::mlir::OpAsmPrinter &_odsPrinter);
1511 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1549template <
typename RangeT>
1551 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1554 BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1556 BVAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAddOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1560 template <
typename LateInst = BVAddOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAddOp>>>
1569 return {std::next(odsOperands.begin(), valueRange.first),
1570 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1593 ::llvm::LogicalResult
verify(::mlir::Location loc);
1595class 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> {
1600 template <
typename RangeT>
1608 return ::llvm::StringLiteral(
"smt.bv.add");
1617 return {std::next(getOperation()->operand_begin(), valueRange.first),
1618 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1621 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1622 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1625 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1626 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1631 return getOperation()->getOpOperand(range.first);
1636 return getOperation()->getOpOperand(range.first);
1645 return {std::next(getOperation()->result_begin(), valueRange.first),
1646 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1649 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1650 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1653 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1654 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1655 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1656 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1657 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1660 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);
1661 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1662 void print(::mlir::OpAsmPrinter &_odsPrinter);
1663 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1701template <
typename RangeT>
1703 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1706 BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
1708 BVAndOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVAndOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
1712 template <
typename LateInst = BVAndOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVAndOp>>>
1721 return {std::next(odsOperands.begin(), valueRange.first),
1722 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1745 ::llvm::LogicalResult
verify(::mlir::Location loc);
1747class 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> {
1752 template <
typename RangeT>
1760 return ::llvm::StringLiteral(
"smt.bv.and");
1769 return {std::next(getOperation()->operand_begin(), valueRange.first),
1770 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1773 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1774 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1777 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1778 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1783 return getOperation()->getOpOperand(range.first);
1788 return getOperation()->getOpOperand(range.first);
1797 return {std::next(getOperation()->result_begin(), valueRange.first),
1798 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1801 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
1802 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
1805 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
1806 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
1807 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
1808 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1809 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1812 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);
1813 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1814 void print(::mlir::OpAsmPrinter &_odsPrinter);
1815 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
1837 auto &propStorage = this->pred;
1838 return ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(propStorage);
1840 void setPred(const ::llzk::smt::BVCmpPredicateAttr &propValue) {
1841 this->pred = propValue;
1845 rhs.
pred == this->pred &&
1849 return !(*
this == rhs);
1877 auto attr = ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(
getProperties().pred);
1884template <
typename RangeT>
1886 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1897 template <
typename LateInst = BVCmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVCmpOp>>>
1906 return {std::next(odsOperands.begin(), valueRange.first),
1907 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1930 ::llvm::LogicalResult
verify(::mlir::Location loc);
1932class 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> {
1937 template <
typename RangeT>
1942 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"pred")};
1943 return ::llvm::ArrayRef(attrNames);
1947 return getAttributeNameForIndex(0);
1951 return getAttributeNameForIndex(name, 0);
1955 return ::llvm::StringLiteral(
"smt.bv.cmp");
1964 return {std::next(getOperation()->operand_begin(), valueRange.first),
1965 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1968 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
1969 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
1972 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
1973 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
1978 return getOperation()->getOpOperand(range.first);
1983 return getOperation()->getOpOperand(range.first);
1992 return {std::next(getOperation()->result_begin(), valueRange.first),
1993 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1997 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
2000 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2003 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
2006 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2007 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
2010 return ::llvm::cast<::llzk::smt::BVCmpPredicateAttr>(getProperties().pred);
2015 getProperties().pred = attr;
2019 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
2021 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::BVCmpPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
2022 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2023 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2024 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::BVCmpPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
2025 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2026 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2029 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);
2030 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2031 void print(::mlir::OpAsmPrinter &_odsPrinter);
2032 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2034 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
2035 return getAttributeNameForIndex((*this)->getName(), index);
2038 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
2039 assert(index < 1 &&
"invalid attribute index");
2040 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
2041 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
2042 "dependent dialect loading?");
2043 return name.getAttributeNames()[index];
2067 auto &propStorage = this->value;
2068 return ::llvm::cast<::llzk::smt::BitVectorAttr>(propStorage);
2070 void setValue(const ::llzk::smt::BitVectorAttr &propValue) {
2071 this->value = propValue;
2075 rhs.
value == this->value &&
2079 return !(*
this == rhs);
2107 auto attr = ::llvm::cast<::llzk::smt::BitVectorAttr>(
getProperties().value);
2111 ::llzk::smt::BitVectorAttr
getValue();
2114template <
typename RangeT>
2116 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2127 template <
typename LateInst = BVConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVConstantOp>>>
2136 return {std::next(odsOperands.begin(), valueRange.first),
2137 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2152 ::llvm::LogicalResult
verify(::mlir::Location loc);
2154class 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> {
2159 template <
typename RangeT>
2164 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
2165 return ::llvm::ArrayRef(attrNames);
2169 return getAttributeNameForIndex(0);
2173 return getAttributeNameForIndex(name, 0);
2177 return ::llvm::StringLiteral(
"smt.bv.constant");
2186 return {std::next(getOperation()->operand_begin(), valueRange.first),
2187 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2196 return {std::next(getOperation()->result_begin(), valueRange.first),
2197 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2200 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2201 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2204 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2207 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
2210 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
2211 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
2214 return ::llvm::cast<::llzk::smt::BitVectorAttr>(getProperties().value);
2217 ::llzk::smt::BitVectorAttr
getValue();
2219 getProperties().value = attr;
2222 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
const llvm::APInt &value);
2223 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint64_t value,
unsigned width);
2224 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::llzk::smt::BitVectorAttr value);
2225 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::BitVectorAttr value);
2226 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::BitVectorAttr value);
2227 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2228 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2232 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);
2234 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2235 void print(::mlir::OpAsmPrinter &_odsPrinter);
2236 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2238 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
2239 return getAttributeNameForIndex((*this)->getName(), index);
2242 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
2243 assert(index < 1 &&
"invalid attribute index");
2244 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
2245 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
2246 "dependent dialect loading?");
2247 return name.getAttributeNames()[index];
2287template <
typename RangeT>
2289 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2292 BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2294 BVLShrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVLShrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2298 template <
typename LateInst = BVLShrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVLShrOp>>>
2307 return {std::next(odsOperands.begin(), valueRange.first),
2308 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2331 ::llvm::LogicalResult
verify(::mlir::Location loc);
2333class 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> {
2338 template <
typename RangeT>
2346 return ::llvm::StringLiteral(
"smt.bv.lshr");
2355 return {std::next(getOperation()->operand_begin(), valueRange.first),
2356 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2359 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2360 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2363 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2364 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2369 return getOperation()->getOpOperand(range.first);
2374 return getOperation()->getOpOperand(range.first);
2383 return {std::next(getOperation()->result_begin(), valueRange.first),
2384 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2387 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2388 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2391 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2392 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2393 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2394 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2395 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2398 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);
2399 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2400 void print(::mlir::OpAsmPrinter &_odsPrinter);
2401 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2439template <
typename RangeT>
2441 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2444 BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2446 BVMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVMulOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2450 template <
typename LateInst = BVMulOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVMulOp>>>
2459 return {std::next(odsOperands.begin(), valueRange.first),
2460 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2483 ::llvm::LogicalResult
verify(::mlir::Location loc);
2485class 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> {
2490 template <
typename RangeT>
2498 return ::llvm::StringLiteral(
"smt.bv.mul");
2507 return {std::next(getOperation()->operand_begin(), valueRange.first),
2508 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2511 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2512 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2515 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2516 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2521 return getOperation()->getOpOperand(range.first);
2526 return getOperation()->getOpOperand(range.first);
2535 return {std::next(getOperation()->result_begin(), valueRange.first),
2536 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2539 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2540 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2543 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2544 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2545 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2546 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2547 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2550 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);
2551 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2552 void print(::mlir::OpAsmPrinter &_odsPrinter);
2553 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2591template <
typename RangeT>
2593 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2596 BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2598 BVNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVNegOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2602 template <
typename LateInst = BVNegOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVNegOp>>>
2611 return {std::next(odsOperands.begin(), valueRange.first),
2612 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2631 ::llvm::LogicalResult
verify(::mlir::Location loc);
2633class 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> {
2638 template <
typename RangeT>
2646 return ::llvm::StringLiteral(
"smt.bv.neg");
2655 return {std::next(getOperation()->operand_begin(), valueRange.first),
2656 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2659 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
2660 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2665 return getOperation()->getOpOperand(range.first);
2674 return {std::next(getOperation()->result_begin(), valueRange.first),
2675 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2678 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2679 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2682 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
2683 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
2684 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
2685 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2686 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2689 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);
2690 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2691 void print(::mlir::OpAsmPrinter &_odsPrinter);
2692 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2730template <
typename RangeT>
2732 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2735 BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2737 BVNotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVNotOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2741 template <
typename LateInst = BVNotOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVNotOp>>>
2750 return {std::next(odsOperands.begin(), valueRange.first),
2751 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2770 ::llvm::LogicalResult
verify(::mlir::Location loc);
2772class 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> {
2777 template <
typename RangeT>
2785 return ::llvm::StringLiteral(
"smt.bv.not");
2794 return {std::next(getOperation()->operand_begin(), valueRange.first),
2795 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2798 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
2799 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2804 return getOperation()->getOpOperand(range.first);
2813 return {std::next(getOperation()->result_begin(), valueRange.first),
2814 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2817 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2818 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2821 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
2822 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
2823 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
2824 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2825 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2828 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);
2829 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2830 void print(::mlir::OpAsmPrinter &_odsPrinter);
2831 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
2869template <
typename RangeT>
2871 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
2874 BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
2876 BVOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
2880 template <
typename LateInst = BVOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVOrOp>>>
2889 return {std::next(odsOperands.begin(), valueRange.first),
2890 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
2913 ::llvm::LogicalResult
verify(::mlir::Location loc);
2915class 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> {
2920 template <
typename RangeT>
2928 return ::llvm::StringLiteral(
"smt.bv.or");
2937 return {std::next(getOperation()->operand_begin(), valueRange.first),
2938 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
2941 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
2942 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
2945 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
2946 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
2951 return getOperation()->getOpOperand(range.first);
2956 return getOperation()->getOpOperand(range.first);
2965 return {std::next(getOperation()->result_begin(), valueRange.first),
2966 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
2969 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
2970 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
2973 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
2974 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
2975 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
2976 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2977 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
2980 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);
2981 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
2982 void print(::mlir::OpAsmPrinter &_odsPrinter);
2983 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3021template <
typename RangeT>
3023 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3026 BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3028 BVSDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3032 template <
typename LateInst = BVSDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSDivOp>>>
3041 return {std::next(odsOperands.begin(), valueRange.first),
3042 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3065 ::llvm::LogicalResult
verify(::mlir::Location loc);
3067class 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> {
3072 template <
typename RangeT>
3080 return ::llvm::StringLiteral(
"smt.bv.sdiv");
3089 return {std::next(getOperation()->operand_begin(), valueRange.first),
3090 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3093 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3094 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3097 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3098 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3103 return getOperation()->getOpOperand(range.first);
3108 return getOperation()->getOpOperand(range.first);
3117 return {std::next(getOperation()->result_begin(), valueRange.first),
3118 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3121 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3122 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3125 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3126 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3127 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3128 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3129 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3132 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);
3133 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3134 void print(::mlir::OpAsmPrinter &_odsPrinter);
3135 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3173template <
typename RangeT>
3175 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3178 BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3180 BVSModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSModOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3184 template <
typename LateInst = BVSModOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSModOp>>>
3193 return {std::next(odsOperands.begin(), valueRange.first),
3194 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3217 ::llvm::LogicalResult
verify(::mlir::Location loc);
3219class 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> {
3224 template <
typename RangeT>
3232 return ::llvm::StringLiteral(
"smt.bv.smod");
3241 return {std::next(getOperation()->operand_begin(), valueRange.first),
3242 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3245 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3246 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3249 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3250 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3255 return getOperation()->getOpOperand(range.first);
3260 return getOperation()->getOpOperand(range.first);
3269 return {std::next(getOperation()->result_begin(), valueRange.first),
3270 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3273 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3274 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3277 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3278 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3279 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3280 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3281 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3284 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);
3285 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3286 void print(::mlir::OpAsmPrinter &_odsPrinter);
3287 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3325template <
typename RangeT>
3327 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3330 BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3332 BVSRemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVSRemOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3336 template <
typename LateInst = BVSRemOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVSRemOp>>>
3345 return {std::next(odsOperands.begin(), valueRange.first),
3346 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3369 ::llvm::LogicalResult
verify(::mlir::Location loc);
3371class 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> {
3376 template <
typename RangeT>
3384 return ::llvm::StringLiteral(
"smt.bv.srem");
3393 return {std::next(getOperation()->operand_begin(), valueRange.first),
3394 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3397 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3398 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3401 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3402 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3407 return getOperation()->getOpOperand(range.first);
3412 return getOperation()->getOpOperand(range.first);
3421 return {std::next(getOperation()->result_begin(), valueRange.first),
3422 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3425 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3426 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3429 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3430 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3431 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3432 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3433 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3436 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);
3437 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3438 void print(::mlir::OpAsmPrinter &_odsPrinter);
3439 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3477template <
typename RangeT>
3479 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3482 BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3484 BVShlOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVShlOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3488 template <
typename LateInst = BVShlOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVShlOp>>>
3497 return {std::next(odsOperands.begin(), valueRange.first),
3498 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3521 ::llvm::LogicalResult
verify(::mlir::Location loc);
3523class 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> {
3528 template <
typename RangeT>
3536 return ::llvm::StringLiteral(
"smt.bv.shl");
3545 return {std::next(getOperation()->operand_begin(), valueRange.first),
3546 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3549 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3550 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3553 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3554 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3559 return getOperation()->getOpOperand(range.first);
3564 return getOperation()->getOpOperand(range.first);
3573 return {std::next(getOperation()->result_begin(), valueRange.first),
3574 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3577 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3578 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3581 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3582 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3583 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3584 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3585 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3588 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);
3589 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3590 void print(::mlir::OpAsmPrinter &_odsPrinter);
3591 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3629template <
typename RangeT>
3631 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3634 BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3636 BVUDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVUDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3640 template <
typename LateInst = BVUDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVUDivOp>>>
3649 return {std::next(odsOperands.begin(), valueRange.first),
3650 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3673 ::llvm::LogicalResult
verify(::mlir::Location loc);
3675class 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> {
3680 template <
typename RangeT>
3688 return ::llvm::StringLiteral(
"smt.bv.udiv");
3697 return {std::next(getOperation()->operand_begin(), valueRange.first),
3698 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3701 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3702 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3705 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3706 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3711 return getOperation()->getOpOperand(range.first);
3716 return getOperation()->getOpOperand(range.first);
3725 return {std::next(getOperation()->result_begin(), valueRange.first),
3726 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3729 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3730 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3733 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3734 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3735 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3736 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3737 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3740 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);
3741 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3742 void print(::mlir::OpAsmPrinter &_odsPrinter);
3743 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3781template <
typename RangeT>
3783 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3786 BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3788 BVURemOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVURemOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3792 template <
typename LateInst = BVURemOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVURemOp>>>
3801 return {std::next(odsOperands.begin(), valueRange.first),
3802 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3825 ::llvm::LogicalResult
verify(::mlir::Location loc);
3827class 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> {
3832 template <
typename RangeT>
3840 return ::llvm::StringLiteral(
"smt.bv.urem");
3849 return {std::next(getOperation()->operand_begin(), valueRange.first),
3850 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
3853 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
3854 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
3857 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
3858 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
3863 return getOperation()->getOpOperand(range.first);
3868 return getOperation()->getOpOperand(range.first);
3877 return {std::next(getOperation()->result_begin(), valueRange.first),
3878 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
3881 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
3882 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
3885 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
3886 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
3887 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
3888 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3889 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
3892 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);
3893 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
3894 void print(::mlir::OpAsmPrinter &_odsPrinter);
3895 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
3933template <
typename RangeT>
3935 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
3938 BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
3940 BVXOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
BVXOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
3944 template <
typename LateInst = BVXOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BVXOrOp>>>
3953 return {std::next(odsOperands.begin(), valueRange.first),
3954 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
3977 ::llvm::LogicalResult
verify(::mlir::Location loc);
3979class 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> {
3984 template <
typename RangeT>
3992 return ::llvm::StringLiteral(
"smt.bv.xor");
4001 return {std::next(getOperation()->operand_begin(), valueRange.first),
4002 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4005 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
4006 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
4009 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
4010 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
4015 return getOperation()->getOpOperand(range.first);
4020 return getOperation()->getOpOperand(range.first);
4029 return {std::next(getOperation()->result_begin(), valueRange.first),
4030 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4033 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
4034 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
4037 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
4038 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
4039 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
4040 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4041 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4044 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);
4045 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4046 void print(::mlir::OpAsmPrinter &_odsPrinter);
4047 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4069 auto &propStorage = this->value;
4070 return ::llvm::cast<::mlir::BoolAttr>(propStorage);
4073 this->value = propValue;
4077 rhs.
value == this->value &&
4081 return !(*
this == rhs);
4109 auto attr = ::llvm::cast<::mlir::BoolAttr>(
getProperties().value);
4116template <
typename RangeT>
4118 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4129 template <
typename LateInst = BoolConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, BoolConstantOp>>>
4138 return {std::next(odsOperands.begin(), valueRange.first),
4139 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4154 ::llvm::LogicalResult
verify(::mlir::Location loc);
4156class 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> {
4161 template <
typename RangeT>
4166 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
4167 return ::llvm::ArrayRef(attrNames);
4171 return getAttributeNameForIndex(0);
4175 return getAttributeNameForIndex(name, 0);
4179 return ::llvm::StringLiteral(
"smt.constant");
4188 return {std::next(getOperation()->operand_begin(), valueRange.first),
4189 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4198 return {std::next(getOperation()->result_begin(), valueRange.first),
4199 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4203 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
4206 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4209 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
4212 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4213 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
4216 return ::llvm::cast<::mlir::BoolAttr>(getProperties().value);
4221 getProperties().value = attr;
4225 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::BoolAttr value);
4226 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::BoolAttr value);
4227 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::BoolAttr value);
4228 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
bool value);
4229 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
bool value);
4230 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
bool value);
4231 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4232 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4236 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);
4238 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4239 void print(::mlir::OpAsmPrinter &_odsPrinter);
4240 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4242 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
4243 return getAttributeNameForIndex((*this)->getName(), index);
4246 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
4247 assert(index < 1 &&
"invalid attribute index");
4248 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
4249 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
4250 "dependent dialect loading?");
4251 return name.getAttributeNames()[index];
4307template <
typename RangeT>
4309 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4312 CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4314 CheckOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
CheckOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4318 template <
typename LateInst = CheckOp,
typename = std::enable_if_t<std::is_same_v<LateInst, CheckOp>>>
4327 return {std::next(odsOperands.begin(), valueRange.first),
4328 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4343 ::llvm::LogicalResult
verify(::mlir::Location loc);
4345class 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> {
4350 template <
typename RangeT>
4358 return ::llvm::StringLiteral(
"smt.check");
4367 return {std::next(getOperation()->operand_begin(), valueRange.first),
4368 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4374 return {std::next(getOperation()->result_begin(), valueRange.first),
4375 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4383 return (*this)->getRegion(0);
4387 return (*this)->getRegion(1);
4391 return (*this)->getRegion(2);
4394 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange results);
4395 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4399 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4400 void print(::mlir::OpAsmPrinter &_odsPrinter);
4438template <
typename RangeT>
4440 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4443 ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4445 ConcatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
ConcatOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4449 template <
typename LateInst = ConcatOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ConcatOp>>>
4458 return {std::next(odsOperands.begin(), valueRange.first),
4459 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4482 ::llvm::LogicalResult
verify(::mlir::Location loc);
4484class 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> {
4489 template <
typename RangeT>
4497 return ::llvm::StringLiteral(
"smt.bv.concat");
4506 return {std::next(getOperation()->operand_begin(), valueRange.first),
4507 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4510 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getLhs() {
4511 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
4514 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getRhs() {
4515 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(1).begin());
4520 return getOperation()->getOpOperand(range.first);
4525 return getOperation()->getOpOperand(range.first);
4534 return {std::next(getOperation()->result_begin(), valueRange.first),
4535 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4538 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
4539 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
4542 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
4543 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
4544 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
4545 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4546 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4549 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);
4550 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4551 void print(::mlir::OpAsmPrinter &_odsPrinter);
4552 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4574 auto &propStorage = this->namePrefix;
4575 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(propStorage);
4578 this->namePrefix = propValue;
4586 return !(*
this == rhs);
4614 auto attr = ::llvm::dyn_cast_or_null<::mlir::StringAttr>(
getProperties().namePrefix);
4621template <
typename RangeT>
4623 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4634 template <
typename LateInst = DeclareFunOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DeclareFunOp>>>
4643 return {std::next(odsOperands.begin(), valueRange.first),
4644 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4659 ::llvm::LogicalResult
verify(::mlir::Location loc);
4661class 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> {
4666 template <
typename RangeT>
4671 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"namePrefix")};
4672 return ::llvm::ArrayRef(attrNames);
4676 return getAttributeNameForIndex(0);
4680 return getAttributeNameForIndex(name, 0);
4684 return ::llvm::StringLiteral(
"smt.declare_fun");
4693 return {std::next(getOperation()->operand_begin(), valueRange.first),
4694 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4703 return {std::next(getOperation()->result_begin(), valueRange.first),
4704 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4708 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
4711 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4714 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
4717 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
4718 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
4721 return ::llvm::dyn_cast_or_null<::mlir::StringAttr>(getProperties().namePrefix);
4726 getProperties().namePrefix = attr;
4729 void setNamePrefix(::std::optional<::llvm::StringRef> attrValue);
4731 auto &attr = getProperties().namePrefix;
4736 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Type type);
4737 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::StringAttr namePrefix);
4738 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr namePrefix);
4739 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4743 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4744 void print(::mlir::OpAsmPrinter &_odsPrinter);
4745 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4747 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
4748 return getAttributeNameForIndex((*this)->getName(), index);
4751 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
4752 assert(index < 1 &&
"invalid attribute index");
4753 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
4754 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
4755 "dependent dialect loading?");
4756 return name.getAttributeNames()[index];
4793template <
typename RangeT>
4795 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4798 DistinctOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4804 template <
typename LateInst = DistinctOp,
typename = std::enable_if_t<std::is_same_v<LateInst, DistinctOp>>>
4813 return {std::next(odsOperands.begin(), valueRange.first),
4814 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4833 ::llvm::LogicalResult
verify(::mlir::Location loc);
4835class 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> {
4840 template <
typename RangeT>
4848 return ::llvm::StringLiteral(
"smt.distinct");
4854 return {std::next(getOperation()->operand_begin(), valueRange.first),
4855 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4869 return {std::next(getOperation()->result_begin(), valueRange.first),
4870 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
4874 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
4877 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
4878 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
4879 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4880 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
4881 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
4882 void print(::mlir::OpAsmPrinter &p);
4885 ::llvm::LogicalResult
verify();
4886 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);
4887 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
4922template <
typename RangeT>
4924 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
4927 EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
4929 EqOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
EqOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
4933 template <
typename LateInst = EqOp,
typename = std::enable_if_t<std::is_same_v<LateInst, EqOp>>>
4942 return {std::next(odsOperands.begin(), valueRange.first),
4943 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
4962 ::llvm::LogicalResult
verify(::mlir::Location loc);
4964class 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> {
4969 template <
typename RangeT>
4977 return ::llvm::StringLiteral(
"smt.eq");
4983 return {std::next(getOperation()->operand_begin(), valueRange.first),
4984 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
4998 return {std::next(getOperation()->result_begin(), valueRange.first),
4999 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5003 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5006 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
5007 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
5008 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5009 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5010 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5011 void print(::mlir::OpAsmPrinter &p);
5014 ::llvm::LogicalResult
verify();
5015 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);
5016 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
5038 auto &propStorage = this->boundVarNames;
5039 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
5042 this->boundVarNames = propValue;
5048 auto &propStorage = this->noPattern;
5049 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
5052 this->noPattern = propValue;
5058 auto &propStorage = this->weight;
5059 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(propStorage);
5062 this->weight = propValue;
5068 rhs.
weight == this->weight &&
5072 return !(*
this == rhs);
5104 auto attr = ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(
getProperties().boundVarNames);
5123template <
typename RangeT>
5125 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5136 template <
typename LateInst = ExistsOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ExistsOp>>>
5145 return {std::next(odsOperands.begin(), valueRange.first),
5146 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5161 ::llvm::LogicalResult
verify(::mlir::Location loc);
5163class 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> {
5168 template <
typename RangeT>
5173 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"boundVarNames"), ::llvm::StringRef(
"noPattern"), ::llvm::StringRef(
"weight")};
5174 return ::llvm::ArrayRef(attrNames);
5178 return getAttributeNameForIndex(0);
5182 return getAttributeNameForIndex(name, 0);
5186 return getAttributeNameForIndex(1);
5190 return getAttributeNameForIndex(name, 1);
5194 return getAttributeNameForIndex(2);
5198 return getAttributeNameForIndex(name, 2);
5202 return ::llvm::StringLiteral(
"smt.exists");
5211 return {std::next(getOperation()->operand_begin(), valueRange.first),
5212 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5221 return {std::next(getOperation()->result_begin(), valueRange.first),
5222 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5226 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5230 return (*this)->getRegion(0);
5234 return (*this)->getRegions().drop_front(1);
5237 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5240 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5243 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5244 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5247 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(getProperties().weight);
5252 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().noPattern);
5257 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().boundVarNames);
5262 getProperties().weight = attr;
5267 getProperties().noPattern = attr;
5272 getProperties().boundVarNames = attr;
5276 auto &attr = getProperties().noPattern;
5282 auto &attr = getProperties().boundVarNames;
5287 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);
5291 ::llvm::LogicalResult
verify();
5293 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);
5294 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5295 void print(::mlir::OpAsmPrinter &_odsPrinter);
5297 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5298 return getAttributeNameForIndex((*this)->getName(), index);
5301 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5302 assert(index < 3 &&
"invalid attribute index");
5303 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5304 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5305 "dependent dialect loading?");
5306 return name.getAttributeNames()[index];
5330 auto &propStorage = this->lowBit;
5331 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
5334 this->lowBit = propValue;
5338 rhs.
lowBit == this->lowBit &&
5342 return !(*
this == rhs);
5370 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().lowBit);
5377template <
typename RangeT>
5379 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5390 template <
typename LateInst = ExtractOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ExtractOp>>>
5399 return {std::next(odsOperands.begin(), valueRange.first),
5400 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5419 ::llvm::LogicalResult
verify(::mlir::Location loc);
5421class 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> {
5426 template <
typename RangeT>
5431 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"lowBit")};
5432 return ::llvm::ArrayRef(attrNames);
5436 return getAttributeNameForIndex(0);
5440 return getAttributeNameForIndex(name, 0);
5444 return ::llvm::StringLiteral(
"smt.bv.extract");
5453 return {std::next(getOperation()->operand_begin(), valueRange.first),
5454 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5457 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
5458 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
5463 return getOperation()->getOpOperand(range.first);
5472 return {std::next(getOperation()->result_begin(), valueRange.first),
5473 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5476 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
5477 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
5480 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5483 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5486 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5487 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5490 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().lowBit);
5495 getProperties().lowBit = attr;
5499 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr lowBit, ::mlir::Value input);
5500 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr lowBit, ::mlir::Value input);
5501 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, uint32_t lowBit, ::mlir::Value input);
5502 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t lowBit, ::mlir::Value input);
5503 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5506 ::llvm::LogicalResult
verify();
5507 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5508 void print(::mlir::OpAsmPrinter &_odsPrinter);
5509 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
5511 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5512 return getAttributeNameForIndex((*this)->getName(), index);
5515 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5516 assert(index < 1 &&
"invalid attribute index");
5517 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5518 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5519 "dependent dialect loading?");
5520 return name.getAttributeNames()[index];
5544 auto &propStorage = this->boundVarNames;
5545 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
5548 this->boundVarNames = propValue;
5554 auto &propStorage = this->noPattern;
5555 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
5558 this->noPattern = propValue;
5564 auto &propStorage = this->weight;
5565 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(propStorage);
5568 this->weight = propValue;
5574 rhs.
weight == this->weight &&
5578 return !(*
this == rhs);
5610 auto attr = ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(
getProperties().boundVarNames);
5629template <
typename RangeT>
5631 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5642 template <
typename LateInst = ForallOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ForallOp>>>
5651 return {std::next(odsOperands.begin(), valueRange.first),
5652 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5667 ::llvm::LogicalResult
verify(::mlir::Location loc);
5669class 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> {
5674 template <
typename RangeT>
5679 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"boundVarNames"), ::llvm::StringRef(
"noPattern"), ::llvm::StringRef(
"weight")};
5680 return ::llvm::ArrayRef(attrNames);
5684 return getAttributeNameForIndex(0);
5688 return getAttributeNameForIndex(name, 0);
5692 return getAttributeNameForIndex(1);
5696 return getAttributeNameForIndex(name, 1);
5700 return getAttributeNameForIndex(2);
5704 return getAttributeNameForIndex(name, 2);
5708 return ::llvm::StringLiteral(
"smt.forall");
5717 return {std::next(getOperation()->operand_begin(), valueRange.first),
5718 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5727 return {std::next(getOperation()->result_begin(), valueRange.first),
5728 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5732 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5736 return (*this)->getRegion(0);
5740 return (*this)->getRegions().drop_front(1);
5743 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5746 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
5749 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
5750 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
5753 return ::llvm::dyn_cast_or_null<::mlir::IntegerAttr>(getProperties().weight);
5758 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().noPattern);
5763 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().boundVarNames);
5768 getProperties().weight = attr;
5773 getProperties().noPattern = attr;
5778 getProperties().boundVarNames = attr;
5782 auto &attr = getProperties().noPattern;
5788 auto &attr = getProperties().boundVarNames;
5793 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);
5797 ::llvm::LogicalResult
verify();
5799 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);
5800 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5801 void print(::mlir::OpAsmPrinter &_odsPrinter);
5803 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
5804 return getAttributeNameForIndex((*this)->getName(), index);
5807 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
5808 assert(index < 3 &&
"invalid attribute index");
5809 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
5810 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
5811 "dependent dialect loading?");
5812 return name.getAttributeNames()[index];
5852template <
typename RangeT>
5854 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
5857 ImpliesOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
5863 template <
typename LateInst = ImpliesOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ImpliesOp>>>
5872 return {std::next(odsOperands.begin(), valueRange.first),
5873 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
5896 ::llvm::LogicalResult
verify(::mlir::Location loc);
5898class 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> {
5903 template <
typename RangeT>
5911 return ::llvm::StringLiteral(
"smt.implies");
5920 return {std::next(getOperation()->operand_begin(), valueRange.first),
5921 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
5924 ::mlir::TypedValue<::llzk::smt::BoolType>
getLhs() {
5925 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
5928 ::mlir::TypedValue<::llzk::smt::BoolType>
getRhs() {
5929 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(1).begin());
5934 return getOperation()->getOpOperand(range.first);
5939 return getOperation()->getOpOperand(range.first);
5948 return {std::next(getOperation()->result_begin(), valueRange.first),
5949 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
5953 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
5956 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
5957 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
5958 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
5959 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5960 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
5963 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);
5964 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
5965 void print(::mlir::OpAsmPrinter &_odsPrinter);
5966 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6004template <
typename RangeT>
6006 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6009 Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6011 Int2BVOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
Int2BVOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6015 template <
typename LateInst = Int2BVOp,
typename = std::enable_if_t<std::is_same_v<LateInst, Int2BVOp>>>
6024 return {std::next(odsOperands.begin(), valueRange.first),
6025 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6044 ::llvm::LogicalResult
verify(::mlir::Location loc);
6046class 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> {
6051 template <
typename RangeT>
6059 return ::llvm::StringLiteral(
"smt.int2bv");
6068 return {std::next(getOperation()->operand_begin(), valueRange.first),
6069 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6073 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6078 return getOperation()->getOpOperand(range.first);
6087 return {std::next(getOperation()->result_begin(), valueRange.first),
6088 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6091 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
6092 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
6095 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
6096 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
6097 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6100 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6101 void print(::mlir::OpAsmPrinter &_odsPrinter);
6102 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6140template <
typename RangeT>
6142 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6145 IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6147 IntAbsOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntAbsOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6151 template <
typename LateInst = IntAbsOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntAbsOp>>>
6160 return {std::next(odsOperands.begin(), valueRange.first),
6161 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6180 ::llvm::LogicalResult
verify(::mlir::Location loc);
6182class 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> {
6187 template <
typename RangeT>
6195 return ::llvm::StringLiteral(
"smt.int.abs");
6204 return {std::next(getOperation()->operand_begin(), valueRange.first),
6205 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6209 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6214 return getOperation()->getOpOperand(range.first);
6223 return {std::next(getOperation()->result_begin(), valueRange.first),
6224 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6228 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6231 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
6232 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
6233 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
6234 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6235 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6238 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);
6239 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6240 void print(::mlir::OpAsmPrinter &_odsPrinter);
6241 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6276template <
typename RangeT>
6278 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6281 IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6283 IntAddOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntAddOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6287 template <
typename LateInst = IntAddOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntAddOp>>>
6296 return {std::next(odsOperands.begin(), valueRange.first),
6297 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6316 ::llvm::LogicalResult
verify(::mlir::Location loc);
6318class 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> {
6323 template <
typename RangeT>
6331 return ::llvm::StringLiteral(
"smt.int.add");
6337 return {std::next(getOperation()->operand_begin(), valueRange.first),
6338 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6352 return {std::next(getOperation()->result_begin(), valueRange.first),
6353 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6357 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6360 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
6361 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6362 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6365 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);
6366 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6367 void print(::mlir::OpAsmPrinter &_odsPrinter);
6368 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6390 auto &propStorage = this->pred;
6391 return ::llvm::cast<::llzk::smt::IntPredicateAttr>(propStorage);
6393 void setPred(const ::llzk::smt::IntPredicateAttr &propValue) {
6394 this->pred = propValue;
6398 rhs.
pred == this->pred &&
6402 return !(*
this == rhs);
6430 auto attr = ::llvm::cast<::llzk::smt::IntPredicateAttr>(
getProperties().pred);
6437template <
typename RangeT>
6439 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6450 template <
typename LateInst = IntCmpOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntCmpOp>>>
6459 return {std::next(odsOperands.begin(), valueRange.first),
6460 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6483 ::llvm::LogicalResult
verify(::mlir::Location loc);
6485class 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> {
6490 template <
typename RangeT>
6495 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"pred")};
6496 return ::llvm::ArrayRef(attrNames);
6500 return getAttributeNameForIndex(0);
6504 return getAttributeNameForIndex(name, 0);
6508 return ::llvm::StringLiteral(
"smt.int.cmp");
6517 return {std::next(getOperation()->operand_begin(), valueRange.first),
6518 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6521 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
6522 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6525 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
6526 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
6531 return getOperation()->getOpOperand(range.first);
6536 return getOperation()->getOpOperand(range.first);
6545 return {std::next(getOperation()->result_begin(), valueRange.first),
6546 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6550 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
6553 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6556 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
6559 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6560 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
6563 return ::llvm::cast<::llzk::smt::IntPredicateAttr>(getProperties().pred);
6568 getProperties().pred = attr;
6572 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
6574 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::IntPredicateAttr pred, ::mlir::Value lhs, ::mlir::Value rhs);
6575 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6576 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6577 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes,
::llzk::smt::IntPredicate pred, ::mlir::Value lhs, ::mlir::Value rhs);
6578 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6579 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6582 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);
6583 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6584 void print(::mlir::OpAsmPrinter &_odsPrinter);
6585 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6587 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
6588 return getAttributeNameForIndex((*this)->getName(), index);
6591 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
6592 assert(index < 1 &&
"invalid attribute index");
6593 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
6594 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
6595 "dependent dialect loading?");
6596 return name.getAttributeNames()[index];
6620 auto &propStorage = this->value;
6621 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
6624 this->value = propValue;
6628 rhs.
value == this->value &&
6632 return !(*
this == rhs);
6660 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().value);
6667template <
typename RangeT>
6669 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6680 template <
typename LateInst = IntConstantOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntConstantOp>>>
6689 return {std::next(odsOperands.begin(), valueRange.first),
6690 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6705 ::llvm::LogicalResult
verify(::mlir::Location loc);
6707class 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> {
6712 template <
typename RangeT>
6717 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"value")};
6718 return ::llvm::ArrayRef(attrNames);
6722 return getAttributeNameForIndex(0);
6726 return getAttributeNameForIndex(name, 0);
6730 return ::llvm::StringLiteral(
"smt.int.constant");
6739 return {std::next(getOperation()->operand_begin(), valueRange.first),
6740 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6749 return {std::next(getOperation()->result_begin(), valueRange.first),
6750 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6754 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6757 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6760 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
6763 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
6764 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
6767 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().value);
6772 getProperties().value = attr;
6775 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::IntegerAttr value);
6776 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr value);
6777 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr value);
6778 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6779 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6780 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6781 void print(::mlir::OpAsmPrinter &p);
6785 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);
6787 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6789 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
6790 return getAttributeNameForIndex((*this)->getName(), index);
6793 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
6794 assert(index < 1 &&
"invalid attribute index");
6795 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
6796 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
6797 "dependent dialect loading?");
6798 return name.getAttributeNames()[index];
6838template <
typename RangeT>
6840 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6843 IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6845 IntDivOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntDivOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
6849 template <
typename LateInst = IntDivOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntDivOp>>>
6858 return {std::next(odsOperands.begin(), valueRange.first),
6859 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
6882 ::llvm::LogicalResult
verify(::mlir::Location loc);
6884class 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> {
6889 template <
typename RangeT>
6897 return ::llvm::StringLiteral(
"smt.int.div");
6906 return {std::next(getOperation()->operand_begin(), valueRange.first),
6907 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
6910 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
6911 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
6914 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
6915 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
6920 return getOperation()->getOpOperand(range.first);
6925 return getOperation()->getOpOperand(range.first);
6934 return {std::next(getOperation()->result_begin(), valueRange.first),
6935 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
6939 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
6942 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
6943 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
6944 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
6945 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6946 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
6949 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);
6950 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
6951 void print(::mlir::OpAsmPrinter &_odsPrinter);
6952 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
6990template <
typename RangeT>
6992 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
6995 IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
6997 IntModOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntModOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7001 template <
typename LateInst = IntModOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntModOp>>>
7010 return {std::next(odsOperands.begin(), valueRange.first),
7011 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7034 ::llvm::LogicalResult
verify(::mlir::Location loc);
7036class 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> {
7041 template <
typename RangeT>
7049 return ::llvm::StringLiteral(
"smt.int.mod");
7058 return {std::next(getOperation()->operand_begin(), valueRange.first),
7059 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7062 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
7063 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7066 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
7067 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
7072 return getOperation()->getOpOperand(range.first);
7077 return getOperation()->getOpOperand(range.first);
7086 return {std::next(getOperation()->result_begin(), valueRange.first),
7087 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7091 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7094 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
7095 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
7096 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
7097 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7098 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7101 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);
7102 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7103 void print(::mlir::OpAsmPrinter &_odsPrinter);
7104 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7139template <
typename RangeT>
7141 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7144 IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7146 IntMulOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntMulOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7150 template <
typename LateInst = IntMulOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntMulOp>>>
7159 return {std::next(odsOperands.begin(), valueRange.first),
7160 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7179 ::llvm::LogicalResult
verify(::mlir::Location loc);
7181class 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> {
7186 template <
typename RangeT>
7194 return ::llvm::StringLiteral(
"smt.int.mul");
7200 return {std::next(getOperation()->operand_begin(), valueRange.first),
7201 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7215 return {std::next(getOperation()->result_begin(), valueRange.first),
7216 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7220 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7223 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
7224 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7225 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7228 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);
7229 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7230 void print(::mlir::OpAsmPrinter &_odsPrinter);
7231 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7269template <
typename RangeT>
7271 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7274 IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7276 IntNegOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntNegOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7280 template <
typename LateInst = IntNegOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntNegOp>>>
7289 return {std::next(odsOperands.begin(), valueRange.first),
7290 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7309 ::llvm::LogicalResult
verify(::mlir::Location loc);
7311class 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> {
7316 template <
typename RangeT>
7324 return ::llvm::StringLiteral(
"smt.int.neg");
7333 return {std::next(getOperation()->operand_begin(), valueRange.first),
7334 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7338 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7343 return getOperation()->getOpOperand(range.first);
7352 return {std::next(getOperation()->result_begin(), valueRange.first),
7353 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7357 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7360 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
7361 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
7362 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
7363 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7364 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7367 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);
7368 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7369 void print(::mlir::OpAsmPrinter &_odsPrinter);
7370 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7408template <
typename RangeT>
7410 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7413 IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7415 IntSubOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IntSubOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7419 template <
typename LateInst = IntSubOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IntSubOp>>>
7428 return {std::next(odsOperands.begin(), valueRange.first),
7429 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7452 ::llvm::LogicalResult
verify(::mlir::Location loc);
7454class 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> {
7459 template <
typename RangeT>
7467 return ::llvm::StringLiteral(
"smt.int.sub");
7476 return {std::next(getOperation()->operand_begin(), valueRange.first),
7477 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7480 ::mlir::TypedValue<::llzk::smt::IntType>
getLhs() {
7481 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(0).begin());
7484 ::mlir::TypedValue<::llzk::smt::IntType>
getRhs() {
7485 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSOperands(1).begin());
7490 return getOperation()->getOpOperand(range.first);
7495 return getOperation()->getOpOperand(range.first);
7504 return {std::next(getOperation()->result_begin(), valueRange.first),
7505 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7509 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::IntType>>(*
getODSResults(0).begin());
7512 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value lhs, ::mlir::Value rhs);
7513 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
7514 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
7515 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7516 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7519 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);
7520 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7521 void print(::mlir::OpAsmPrinter &_odsPrinter);
7522 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7560template <
typename RangeT>
7562 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7565 IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7567 IteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
IteOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7571 template <
typename LateInst = IteOp,
typename = std::enable_if_t<std::is_same_v<LateInst, IteOp>>>
7580 return {std::next(odsOperands.begin(), valueRange.first),
7581 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7608 ::llvm::LogicalResult
verify(::mlir::Location loc);
7610class 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> {
7615 template <
typename RangeT>
7623 return ::llvm::StringLiteral(
"smt.ite");
7632 return {std::next(getOperation()->operand_begin(), valueRange.first),
7633 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7636 ::mlir::TypedValue<::llzk::smt::BoolType>
getCond() {
7637 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
7641 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
7645 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(2).begin());
7650 return getOperation()->getOpOperand(range.first);
7655 return getOperation()->getOpOperand(range.first);
7660 return getOperation()->getOpOperand(range.first);
7669 return {std::next(getOperation()->result_begin(), valueRange.first),
7670 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7674 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
7677 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7678 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7679 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value cond, ::mlir::Value thenValue, ::mlir::Value elseValue);
7680 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7681 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7684 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);
7685 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7686 void print(::mlir::OpAsmPrinter &_odsPrinter);
7687 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7725template <
typename RangeT>
7727 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7730 NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7732 NotOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
NotOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7736 template <
typename LateInst = NotOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NotOp>>>
7745 return {std::next(odsOperands.begin(), valueRange.first),
7746 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7765 ::llvm::LogicalResult
verify(::mlir::Location loc);
7767class 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> {
7772 template <
typename RangeT>
7780 return ::llvm::StringLiteral(
"smt.not");
7789 return {std::next(getOperation()->operand_begin(), valueRange.first),
7790 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7794 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSOperands(0).begin());
7799 return getOperation()->getOpOperand(range.first);
7808 return {std::next(getOperation()->result_begin(), valueRange.first),
7809 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7813 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
7816 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
7817 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value input);
7818 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
7819 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7820 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7823 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);
7824 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7825 void print(::mlir::OpAsmPrinter &_odsPrinter);
7826 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7861template <
typename RangeT>
7863 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
7866 OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
7868 OrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
OrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
7872 template <
typename LateInst = OrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, OrOp>>>
7881 return {std::next(odsOperands.begin(), valueRange.first),
7882 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
7901 ::llvm::LogicalResult
verify(::mlir::Location loc);
7903class 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> {
7908 template <
typename RangeT>
7916 return ::llvm::StringLiteral(
"smt.or");
7922 return {std::next(getOperation()->operand_begin(), valueRange.first),
7923 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
7937 return {std::next(getOperation()->result_begin(), valueRange.first),
7938 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
7942 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
7945 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
7946 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
7947 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7948 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
7951 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);
7952 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
7953 void print(::mlir::OpAsmPrinter &_odsPrinter);
7954 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
7976 auto &propStorage = this->count;
7977 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
7980 this->count = propValue;
7984 rhs.
count == this->count &&
7988 return !(*
this == rhs);
8016 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().count);
8023template <
typename RangeT>
8025 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8036 template <
typename LateInst = PopOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PopOp>>>
8045 return {std::next(odsOperands.begin(), valueRange.first),
8046 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8061 ::llvm::LogicalResult
verify(::mlir::Location loc);
8063class PopOp :
public ::mlir::Op<PopOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8068 template <
typename RangeT>
8073 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"count")};
8074 return ::llvm::ArrayRef(attrNames);
8078 return getAttributeNameForIndex(0);
8082 return getAttributeNameForIndex(name, 0);
8086 return ::llvm::StringLiteral(
"smt.pop");
8095 return {std::next(getOperation()->operand_begin(), valueRange.first),
8096 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8105 return {std::next(getOperation()->result_begin(), valueRange.first),
8106 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8109 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8112 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8115 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8116 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8119 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().count);
8124 getProperties().count = attr;
8128 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count);
8129 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count);
8130 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count);
8131 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count);
8132 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8135 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8136 void print(::mlir::OpAsmPrinter &_odsPrinter);
8138 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8139 return getAttributeNameForIndex((*this)->getName(), index);
8142 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8143 assert(index < 1 &&
"invalid attribute index");
8144 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8145 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8146 "dependent dialect loading?");
8147 return name.getAttributeNames()[index];
8171 auto &propStorage = this->count;
8172 return ::llvm::cast<::mlir::IntegerAttr>(propStorage);
8175 this->count = propValue;
8179 rhs.
count == this->count &&
8183 return !(*
this == rhs);
8211 auto attr = ::llvm::cast<::mlir::IntegerAttr>(
getProperties().count);
8218template <
typename RangeT>
8220 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8231 template <
typename LateInst = PushOp,
typename = std::enable_if_t<std::is_same_v<LateInst, PushOp>>>
8240 return {std::next(odsOperands.begin(), valueRange.first),
8241 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8256 ::llvm::LogicalResult
verify(::mlir::Location loc);
8258class PushOp :
public ::mlir::Op<PushOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8263 template <
typename RangeT>
8268 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"count")};
8269 return ::llvm::ArrayRef(attrNames);
8273 return getAttributeNameForIndex(0);
8277 return getAttributeNameForIndex(name, 0);
8281 return ::llvm::StringLiteral(
"smt.push");
8290 return {std::next(getOperation()->operand_begin(), valueRange.first),
8291 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8300 return {std::next(getOperation()->result_begin(), valueRange.first),
8301 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8304 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8307 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8310 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8311 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8314 return ::llvm::cast<::mlir::IntegerAttr>(getProperties().count);
8319 getProperties().count = attr;
8323 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::IntegerAttr count);
8324 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::IntegerAttr count);
8325 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, uint32_t count);
8326 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, uint32_t count);
8327 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8330 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8331 void print(::mlir::OpAsmPrinter &_odsPrinter);
8333 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8334 return getAttributeNameForIndex((*this)->getName(), index);
8337 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8338 assert(index < 1 &&
"invalid attribute index");
8339 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8340 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8341 "dependent dialect loading?");
8342 return name.getAttributeNames()[index];
8382template <
typename RangeT>
8384 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8387 RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8389 RepeatOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
RepeatOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8393 template <
typename LateInst = RepeatOp,
typename = std::enable_if_t<std::is_same_v<LateInst, RepeatOp>>>
8402 return {std::next(odsOperands.begin(), valueRange.first),
8403 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8422 ::llvm::LogicalResult
verify(::mlir::Location loc);
8424class 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> {
8429 template <
typename RangeT>
8437 return ::llvm::StringLiteral(
"smt.bv.repeat");
8446 return {std::next(getOperation()->operand_begin(), valueRange.first),
8447 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8450 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getInput() {
8451 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSOperands(0).begin());
8456 return getOperation()->getOpOperand(range.first);
8465 return {std::next(getOperation()->result_begin(), valueRange.first),
8466 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8469 ::mlir::TypedValue<::llzk::smt::BitVectorType>
getResult() {
8470 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BitVectorType>>(*
getODSResults(0).begin());
8473 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState,
unsigned count, mlir::Value input);
8474 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value input);
8475 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value input);
8476 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8477 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8478 void print(::mlir::OpAsmPrinter &p);
8481 ::llvm::LogicalResult
verify();
8482 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
8522template <
typename RangeT>
8524 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8527 ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
8529 ResetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
ResetOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
8533 template <
typename LateInst = ResetOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ResetOp>>>
8542 return {std::next(odsOperands.begin(), valueRange.first),
8543 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8558 ::llvm::LogicalResult
verify(::mlir::Location loc);
8560class ResetOp :
public ::mlir::Op<ResetOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants> {
8565 template <
typename RangeT>
8573 return ::llvm::StringLiteral(
"smt.reset");
8582 return {std::next(getOperation()->operand_begin(), valueRange.first),
8583 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8592 return {std::next(getOperation()->result_begin(), valueRange.first),
8593 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8596 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState);
8597 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes);
8598 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8601 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8602 void print(::mlir::OpAsmPrinter &_odsPrinter);
8624 auto &propStorage = this->key;
8625 return ::llvm::cast<::llzk::smt::KeywordAttr>(propStorage);
8627 void setKey(const ::llzk::smt::KeywordAttr &propValue) {
8628 this->key = propValue;
8634 auto &propStorage = this->value;
8635 return ::llvm::cast<::mlir::Attribute>(propStorage);
8638 this->value = propValue;
8642 rhs.
key == this->key &&
8643 rhs.
value == this->value &&
8647 return !(*
this == rhs);
8675 auto attr = ::llvm::cast<::llzk::smt::KeywordAttr>(
getProperties().key);
8679 ::llzk::smt::KeywordAttr
getKey();
8681 auto attr = ::llvm::cast<::mlir::Attribute>(
getProperties().value);
8688template <
typename RangeT>
8690 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8701 template <
typename LateInst = SetInfoOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SetInfoOp>>>
8710 return {std::next(odsOperands.begin(), valueRange.first),
8711 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8726 ::llvm::LogicalResult
verify(::mlir::Location loc);
8728class SetInfoOp :
public ::mlir::Op<SetInfoOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
8733 template <
typename RangeT>
8738 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"key"), ::llvm::StringRef(
"value")};
8739 return ::llvm::ArrayRef(attrNames);
8743 return getAttributeNameForIndex(0);
8747 return getAttributeNameForIndex(name, 0);
8751 return getAttributeNameForIndex(1);
8755 return getAttributeNameForIndex(name, 1);
8759 return ::llvm::StringLiteral(
"smt.set_info");
8768 return {std::next(getOperation()->operand_begin(), valueRange.first),
8769 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8778 return {std::next(getOperation()->result_begin(), valueRange.first),
8779 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8782 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8785 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8788 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8789 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8792 return ::llvm::cast<::llzk::smt::KeywordAttr>(getProperties().key);
8795 ::llzk::smt::KeywordAttr
getKey();
8797 return ::llvm::cast<::mlir::Attribute>(getProperties().value);
8802 getProperties().key = attr;
8806 getProperties().value = attr;
8809 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value);
8810 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value);
8811 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
8812 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
8813 void print(::mlir::OpAsmPrinter &p);
8816 ::llvm::LogicalResult
verify();
8818 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
8819 return getAttributeNameForIndex((*this)->getName(), index);
8822 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
8823 assert(index < 2 &&
"invalid attribute index");
8824 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
8825 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
8826 "dependent dialect loading?");
8827 return name.getAttributeNames()[index];
8851 auto &propStorage = this->logic;
8852 return ::llvm::cast<::mlir::StringAttr>(propStorage);
8855 this->logic = propValue;
8859 rhs.
logic == this->logic &&
8863 return !(*
this == rhs);
8891 auto attr = ::llvm::cast<::mlir::StringAttr>(
getProperties().logic);
8898template <
typename RangeT>
8900 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
8911 template <
typename LateInst = SetLogicOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SetLogicOp>>>
8920 return {std::next(odsOperands.begin(), valueRange.first),
8921 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
8936 ::llvm::LogicalResult
verify(::mlir::Location loc);
8938class 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> {
8943 template <
typename RangeT>
8948 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"logic")};
8949 return ::llvm::ArrayRef(attrNames);
8953 return getAttributeNameForIndex(0);
8957 return getAttributeNameForIndex(name, 0);
8961 return ::llvm::StringLiteral(
"smt.set_logic");
8970 return {std::next(getOperation()->operand_begin(), valueRange.first),
8971 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
8980 return {std::next(getOperation()->result_begin(), valueRange.first),
8981 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
8984 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8987 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
8990 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
8991 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
8994 return ::llvm::cast<::mlir::StringAttr>(getProperties().logic);
8999 getProperties().logic = attr;
9002 void setLogic(::llvm::StringRef attrValue);
9003 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr logic);
9004 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr logic);
9005 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef logic);
9006 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef logic);
9007 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9010 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9011 void print(::mlir::OpAsmPrinter &_odsPrinter);
9013 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
9014 return getAttributeNameForIndex((*this)->getName(), index);
9017 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
9018 assert(index < 1 &&
"invalid attribute index");
9019 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
9020 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
9021 "dependent dialect loading?");
9022 return name.getAttributeNames()[index];
9067template <
typename RangeT>
9069 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
9072 SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
9074 SolverOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
SolverOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
9078 template <
typename LateInst = SolverOp,
typename = std::enable_if_t<std::is_same_v<LateInst, SolverOp>>>
9087 return {std::next(odsOperands.begin(), valueRange.first),
9088 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
9107 ::llvm::LogicalResult
verify(::mlir::Location loc);
9109class 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> {
9114 template <
typename RangeT>
9122 return ::llvm::StringLiteral(
"smt.solver");
9128 return {std::next(getOperation()->operand_begin(), valueRange.first),
9129 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
9140 return {std::next(getOperation()->result_begin(), valueRange.first),
9141 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
9149 return (*this)->getRegion(0);
9152 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9156 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9157 void print(::mlir::OpAsmPrinter &_odsPrinter);
9192template <
typename RangeT>
9194 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
9197 XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
9199 XOrOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
XOrOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
9203 template <
typename LateInst = XOrOp,
typename = std::enable_if_t<std::is_same_v<LateInst, XOrOp>>>
9212 return {std::next(odsOperands.begin(), valueRange.first),
9213 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
9232 ::llvm::LogicalResult
verify(::mlir::Location loc);
9234class 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> {
9239 template <
typename RangeT>
9247 return ::llvm::StringLiteral(
"smt.xor");
9253 return {std::next(getOperation()->operand_begin(), valueRange.first),
9254 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
9268 return {std::next(getOperation()->result_begin(), valueRange.first),
9269 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
9273 return ::llvm::cast<::mlir::TypedValue<::llzk::smt::BoolType>>(*
getODSResults(0).begin());
9276 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, mlir::Value lhs, mlir::Value rhs);
9277 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::ValueRange inputs);
9278 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9279 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9282 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);
9283 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9284 void print(::mlir::OpAsmPrinter &_odsPrinter);
9285 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
9320template <
typename RangeT>
9322 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
9325 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
9327 YieldOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions = {}) :
YieldOpGenericAdaptor(values, attrs, (properties ? *properties.as<::
mlir::EmptyProperties *>() : ::
mlir::EmptyProperties{}), regions) {}
9331 template <
typename LateInst = YieldOp,
typename = std::enable_if_t<std::is_same_v<LateInst, YieldOp>>>
9340 return {std::next(odsOperands.begin(), valueRange.first),
9341 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
9360 ::llvm::LogicalResult
verify(::mlir::Location loc);
9362class 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> {
9367 template <
typename RangeT>
9375 return ::llvm::StringLiteral(
"smt.yield");
9381 return {std::next(getOperation()->operand_begin(), valueRange.first),
9382 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
9396 return {std::next(getOperation()->result_begin(), valueRange.first),
9397 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
9400 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState);
9401 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::ValueRange values);
9402 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
9406 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
9407 void print(::mlir::OpAsmPrinter &_odsPrinter);
9408 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()
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)
ExistsOpGenericAdaptor< RangeT > GenericAdaptor
void setNoPatternAttr(::mlir::UnitAttr attr)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::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)
SetInfoOpAdaptor(SetInfoOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
SetInfoOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
SetInfoOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
SetInfoOpGenericAdaptor(RangeT values, const SetInfoOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
SetInfoOpGenericAdaptor(RangeT values, LateInst op)
SetInfoOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
SetInfoOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::mlir::Attribute getValue()
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llzk::smt::KeywordAttr getKeyAttr()
::llzk::smt::KeywordAttr getKey()
void setKeyAttr(::llzk::smt::KeywordAttr attr)
void print(::mlir::OpAsmPrinter &p)
::llvm::LogicalResult verifyInvariantsImpl()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::StringAttr getValueAttrName()
::mlir::StringAttr getKeyAttrName(::mlir::OperationName name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::Operation::result_range getODSResults(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult verifyInvariants()
FoldAdaptor::Properties Properties
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
static constexpr ::llvm::StringLiteral getOperationName()
void setValueAttr(::mlir::Attribute attr)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Attribute getValueAttr()
::mlir::StringAttr getValueAttrName(::mlir::OperationName name)
::llvm::LogicalResult verify()
::mlir::StringAttr getKeyAttrName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
SetInfoOpGenericAdaptor< RangeT > GenericAdaptor
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::smt::KeywordAttr key, ::mlir::Attribute value)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
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::Attribute getValue()
::std::optional<::mlir::OperationName > odsOpName
SetInfoOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::Attribute getValueAttr()
::llzk::smt::KeywordAttr getKeyAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
const Properties & getProperties()
::mlir::RegionRange odsRegions
::llzk::smt::KeywordAttr getKey()
::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)
llvm::StringLiteral getOperationName()
Get the operation name, like "constrain.eq" for the given OpClass.
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
void setValue(const ::mlir::Attribute &propValue)
bool operator==(const Properties &rhs) const
::mlir::Attribute valueTy
bool operator!=(const Properties &rhs) const
::llzk::smt::KeywordAttr keyTy
void setKey(const ::llzk::smt::KeywordAttr &propValue)
bool operator==(const Properties &rhs) const
::mlir::StringAttr logicTy
bool operator!=(const Properties &rhs) const
void setLogic(const ::mlir::StringAttr &propValue)