69template <
typename RangeT>
71 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
74 CreateStructOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = {}, const ::mlir::EmptyProperties &properties = {}, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
80 template <
typename LateInst = CreateStructOp,
typename = std::enable_if_t<std::is_same_v<LateInst, CreateStructOp>>>
89 return {std::next(odsOperands.begin(), valueRange.first),
90 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
105 ::llvm::LogicalResult
verify(::mlir::Location loc);
107class CreateStructOp :
public ::mlir::Op<CreateStructOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::component::StructType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::llzk::function::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpAsmOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait> {
112 template <
typename RangeT>
120 return ::llvm::StringLiteral(
"struct.new");
129 return {std::next(getOperation()->operand_begin(), valueRange.first),
130 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
139 return {std::next(getOperation()->result_begin(), valueRange.first),
140 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
143 ::mlir::TypedValue<::llzk::component::StructType>
getResult() {
144 return ::llvm::cast<::mlir::TypedValue<::llzk::component::StructType>>(*
getODSResults(0).begin());
147 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result);
148 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes);
149 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
153 ::llvm::LogicalResult
verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
154 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
155 void print(::mlir::OpAsmPrinter &_odsPrinter);
177 auto &propStorage = this->column;
178 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(propStorage);
181 this->column = propValue;
187 auto &propStorage = this->sym_name;
188 return ::llvm::cast<::mlir::StringAttr>(propStorage);
191 this->sym_name = propValue;
197 auto &propStorage = this->type;
198 return ::llvm::cast<::mlir::TypeAttr>(propStorage);
200 void setType(const ::mlir::TypeAttr &propValue) {
201 this->type = propValue;
205 rhs.
column == this->column &&
207 rhs.
type == this->type &&
211 return !(*
this == rhs);
239 auto attr = ::llvm::cast<::mlir::StringAttr>(
getProperties().sym_name);
245 auto attr = ::llvm::cast<::mlir::TypeAttr>(
getProperties().type);
254template <
typename RangeT>
256 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
267 template <
typename LateInst = FieldDefOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FieldDefOp>>>
276 return {std::next(odsOperands.begin(), valueRange.first),
277 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
292 ::llvm::LogicalResult
verify(::mlir::Location loc);
294class FieldDefOp :
public ::mlir::Op<FieldDefOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::HasParent<::llzk::component::StructDefOp>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait, ::mlir::SymbolOpInterface::Trait> {
299 template <
typename RangeT>
304 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"column"), ::llvm::StringRef(
"sym_name"), ::llvm::StringRef(
"type")};
305 return ::llvm::ArrayRef(attrNames);
309 return getAttributeNameForIndex(0);
313 return getAttributeNameForIndex(
name, 0);
317 return getAttributeNameForIndex(1);
321 return getAttributeNameForIndex(
name, 1);
325 return getAttributeNameForIndex(2);
329 return getAttributeNameForIndex(
name, 2);
333 return ::llvm::StringLiteral(
"struct.field");
342 return {std::next(getOperation()->operand_begin(), valueRange.first),
343 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
352 return {std::next(getOperation()->result_begin(), valueRange.first),
353 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
356 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
362 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
363 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
366 return ::llvm::cast<::mlir::StringAttr>(getProperties().sym_name);
371 return ::llvm::cast<::mlir::TypeAttr>(getProperties().type);
376 return ::llvm::dyn_cast_or_null<::mlir::UnitAttr>(getProperties().column);
381 getProperties().sym_name = attr;
386 getProperties().type = attr;
389 void setType(::mlir::Type attrValue);
391 getProperties().column = attr;
396 auto &attr = getProperties().column;
401 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::TypeAttr type,
bool isColumn =
false);
402 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef sym_name, ::mlir::Type type,
bool isColumn =
false);
403 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes,
bool isColumn =
false);
404 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes,
bool isColumn =
false);
407 ::llvm::LogicalResult
verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
408 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
409 void print(::mlir::OpAsmPrinter &_odsPrinter);
411 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
412 return getAttributeNameForIndex((*this)->getName(), index);
415 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
416 assert(index < 3 &&
"invalid attribute index");
418 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
419 "dependent dialect loading?");
420 return name.getAttributeNames()[index];
424 inline bool hasPublicAttr() {
return getOperation()->hasAttr(llzk::PublicAttr::name); }
446 auto &propStorage = this->field_name;
447 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(propStorage);
450 this->field_name = propValue;
456 auto &propStorage = this->mapOpGroupSizes;
457 return ::llvm::cast<::mlir::DenseI32ArrayAttr>(propStorage);
460 this->mapOpGroupSizes = propValue;
466 auto &propStorage = this->numDimsPerMap;
467 return ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(propStorage);
470 this->numDimsPerMap = propValue;
476 auto &propStorage = this->tableOffset;
477 return ::llvm::dyn_cast_or_null<::mlir::Attribute>(propStorage);
480 this->tableOffset = propValue;
491 return !(*
this == rhs);
516 auto attr = ::llvm::cast<::mlir::FlatSymbolRefAttr>(
getProperties().field_name);
522 auto attr = ::llvm::dyn_cast_or_null<::mlir::Attribute>(
getProperties().tableOffset);
530 auto attr = ::llvm::cast<::mlir::DenseI32ArrayAttr>(
getProperties().mapOpGroupSizes);
537template <
typename RangeT>
539 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
550 template <
typename LateInst = FieldReadOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FieldReadOp>>>
559 return {std::next(odsOperands.begin(), valueRange.first),
560 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
571 ::llvm::SmallVector<RangeT> tblgenTmpOperandGroups;
572 for (
int i = 0, e = sizes.size(); i < e; ++i) {
573 tblgenTmpOperandGroups.push_back(tblgenTmpOperands.take_front(sizes[i]));
574 tblgenTmpOperands = tblgenTmpOperands.drop_front(sizes[i]);
576 return tblgenTmpOperandGroups;
591 ::llvm::LogicalResult
verify(::mlir::Location loc);
593class FieldReadOp :
public ::mlir::Op<FieldReadOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::AtLeastNOperands<1>::Impl, ::llzk::VerifySizesForMultiAffineOps<1>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::llzk::component::FieldRefOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait> {
598 template <
typename RangeT>
603 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"field_name"), ::llvm::StringRef(
"mapOpGroupSizes"), ::llvm::StringRef(
"numDimsPerMap"), ::llvm::StringRef(
"tableOffset")};
604 return ::llvm::ArrayRef(attrNames);
608 return getAttributeNameForIndex(0);
612 return getAttributeNameForIndex(
name, 0);
616 return getAttributeNameForIndex(1);
620 return getAttributeNameForIndex(
name, 1);
624 return getAttributeNameForIndex(2);
628 return getAttributeNameForIndex(
name, 2);
632 return getAttributeNameForIndex(3);
636 return getAttributeNameForIndex(
name, 3);
640 return ::llvm::StringLiteral(
"struct.readf");
646 return {std::next(getOperation()->operand_begin(), valueRange.first),
647 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
651 return ::llvm::cast<::mlir::TypedValue<::llzk::component::StructType>>(*
getODSOperands(0).begin());
660 return getOperation()->getOpOperand(range.first);
670 return {std::next(getOperation()->result_begin(), valueRange.first),
671 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
674 ::mlir::TypedValue<::mlir::Type>
getVal() {
675 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
678 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
684 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
685 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
688 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(getProperties().field_name);
693 return ::llvm::dyn_cast_or_null<::mlir::Attribute>(getProperties().tableOffset);
698 return ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(getProperties().numDimsPerMap);
703 return ::llvm::cast<::mlir::DenseI32ArrayAttr>(getProperties().mapOpGroupSizes);
708 getProperties().field_name = attr;
713 getProperties().tableOffset = attr;
717 getProperties().numDimsPerMap = attr;
722 getProperties().mapOpGroupSizes = attr;
727 auto &attr = getProperties().tableOffset;
732 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value
component, ::mlir::StringAttr field);
733 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value
component, ::mlir::StringAttr field, ::mlir::Attribute dist, ::mlir::ValueRange mapOperands, std::optional<int32_t> numDims);
734 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value
component, ::mlir::StringAttr field, ::mlir::SymbolRefAttr dist);
735 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value
component, ::mlir::StringAttr field, ::mlir::IntegerAttr dist);
736 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::mlir::ArrayRef<::mlir::NamedAttribute> attrs);
740 ::llvm::LogicalResult
verify();
742 ::llvm::LogicalResult
verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
743 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
744 void print(::mlir::OpAsmPrinter &_odsPrinter);
746 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
747 return getAttributeNameForIndex((*this)->getName(), index);
750 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
751 assert(index < 4 &&
"invalid attribute index");
753 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
754 "dependent dialect loading?");
755 return name.getAttributeNames()[index];
760 inline ::mlir::FailureOr<SymbolLookupResult<FieldDefOp>>
getFieldDefOp(::mlir::SymbolTableCollection &tables) {
761 return ::llvm::cast<FieldRefOpInterface>(getOperation()).getFieldDefOp(tables);
783 auto &propStorage = this->field_name;
784 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(propStorage);
787 this->field_name = propValue;
795 return !(*
this == rhs);
823 auto attr = ::llvm::cast<::mlir::FlatSymbolRefAttr>(
getProperties().field_name);
830template <
typename RangeT>
832 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
843 template <
typename LateInst = FieldWriteOp,
typename = std::enable_if_t<std::is_same_v<LateInst, FieldWriteOp>>>
852 return {std::next(odsOperands.begin(), valueRange.first),
853 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
876 ::llvm::LogicalResult
verify(::mlir::Location loc);
878class FieldWriteOp :
public ::mlir::Op<FieldWriteOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::WitnessGen, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::llzk::component::FieldRefOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait> {
883 template <
typename RangeT>
888 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"field_name")};
889 return ::llvm::ArrayRef(attrNames);
893 return getAttributeNameForIndex(0);
897 return getAttributeNameForIndex(
name, 0);
901 return ::llvm::StringLiteral(
"struct.writef");
910 return {std::next(getOperation()->operand_begin(), valueRange.first),
911 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
915 return ::llvm::cast<::mlir::TypedValue<::llzk::component::StructType>>(*
getODSOperands(0).begin());
918 ::mlir::TypedValue<::mlir::Type>
getVal() {
919 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
924 return getOperation()->getOpOperand(range.first);
929 return getOperation()->getOpOperand(range.first);
938 return {std::next(getOperation()->result_begin(), valueRange.first),
939 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
942 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
948 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
949 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
952 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(getProperties().field_name);
957 getProperties().field_name = attr;
961 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
component, ::mlir::FlatSymbolRefAttr field_name, ::mlir::Value val);
962 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
component, ::mlir::FlatSymbolRefAttr field_name, ::mlir::Value val);
963 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value
component, ::llvm::StringRef field_name, ::mlir::Value val);
964 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value
component, ::llvm::StringRef field_name, ::mlir::Value val);
965 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
969 ::llvm::LogicalResult
verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
970 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
971 void print(::mlir::OpAsmPrinter &_odsPrinter);
973 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
974 return getAttributeNameForIndex((*this)->getName(), index);
977 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
978 assert(index < 1 &&
"invalid attribute index");
980 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
981 "dependent dialect loading?");
982 return name.getAttributeNames()[index];
987 inline ::mlir::FailureOr<SymbolLookupResult<FieldDefOp>>
getFieldDefOp(::mlir::SymbolTableCollection &tables) {
988 return ::llvm::cast<FieldRefOpInterface>(getOperation()).getFieldDefOp(tables);
1010 auto &propStorage = this->const_params;
1011 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
1014 this->const_params = propValue;
1020 auto &propStorage = this->sym_name;
1021 return ::llvm::cast<::mlir::StringAttr>(propStorage);
1024 this->sym_name = propValue;
1033 return !(*
this == rhs);
1061 auto attr = ::llvm::cast<::mlir::StringAttr>(
getProperties().sym_name);
1067 auto attr = ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(
getProperties().const_params);
1082template <
typename RangeT>
1084 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
1095 template <
typename LateInst = StructDefOp,
typename = std::enable_if_t<std::is_same_v<LateInst, StructDefOp>>>
1104 return {std::next(odsOperands.begin(), valueRange.first),
1105 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
1120 ::llvm::LogicalResult
verify(::mlir::Location loc);
1122class StructDefOp :
public ::mlir::Op<StructDefOp, ::mlir::OpTrait::OneRegion, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::ZeroOperands, ::mlir::OpTrait::HasParent<::mlir::ModuleOp>::Impl, ::llzk::component::SetFuncAllowAttrs, ::mlir::OpTrait::NoRegionArguments, ::mlir::OpTrait::NoTerminator, ::mlir::OpTrait::SingleBlock, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::SymbolOpInterface::Trait, ::mlir::OpTrait::SymbolTable, ::mlir::OpTrait::IsIsolatedFromAbove, ::mlir::SymbolUserOpInterface::Trait, ::mlir::RegionKindInterface::Trait, ::mlir::OpTrait::HasOnlyGraphRegion> {
1127 template <
typename RangeT>
1132 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"const_params"), ::llvm::StringRef(
"sym_name")};
1133 return ::llvm::ArrayRef(attrNames);
1137 return getAttributeNameForIndex(0);
1141 return getAttributeNameForIndex(
name, 0);
1145 return getAttributeNameForIndex(1);
1149 return getAttributeNameForIndex(
name, 1);
1153 return ::llvm::StringLiteral(
"struct.def");
1162 return {std::next(getOperation()->operand_begin(), valueRange.first),
1163 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
1172 return {std::next(getOperation()->result_begin(), valueRange.first),
1173 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
1177 return (*this)->getRegion(0);
1180 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1186 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
1187 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
1190 return ::llvm::cast<::mlir::StringAttr>(getProperties().sym_name);
1195 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().const_params);
1200 getProperties().sym_name = attr;
1203 void setSymName(::llvm::StringRef attrValue);
1205 getProperties().const_params = attr;
1209 auto &attr = getProperties().const_params;
1214 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::ArrayAttr const_params);
1215 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::StringAttr sym_name, ::mlir::ArrayAttr const_params);
1216 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef sym_name, ::mlir::ArrayAttr const_params);
1217 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::llvm::StringRef sym_name, ::mlir::ArrayAttr const_params);
1218 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
1222 ::llvm::LogicalResult
verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
1223 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
1224 void print(::mlir::OpAsmPrinter &_odsPrinter);
1226 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
1227 return getAttributeNameForIndex((*this)->getName(), index);
1230 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName
name,
unsigned index) {
1231 assert(index < 2 &&
"invalid attribute index");
1233 assert(
name.isRegistered() &&
"Operation isn't registered, missing a "
1234 "dependent dialect loading?");
1235 return name.getAttributeNames()[index];
CreateStructOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
CreateStructOpAdaptor(CreateStructOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
CreateStructOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
CreateStructOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
CreateStructOpGenericAdaptor(RangeT values, LateInst op)
CreateStructOpGenericAdaptor(RangeT values, const CreateStructOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result)
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
::llvm::LogicalResult verifyInvariants()
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
CreateStructOpGenericAdaptor< RangeT > GenericAdaptor
static constexpr ::llvm::StringLiteral getOperationName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::TypedValue<::llzk::component::StructType > getResult()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
CreateStructOpAdaptor Adaptor
void print(::mlir::OpAsmPrinter &_odsPrinter)
FieldDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
FieldDefOpAdaptor(FieldDefOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
FieldDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
FieldDefOpGenericAdaptor(RangeT values, const FieldDefOpGenericAdaptorBase &base)
FieldDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
FieldDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
FieldDefOpGenericAdaptor(RangeT values, LateInst op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
void setColumnAttr(::mlir::UnitAttr attr)
FoldAdaptor::Properties Properties
::mlir::StringAttr getColumnAttrName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llvm::StringRef sym_name, ::mlir::Type type, bool isColumn=false)
void setPublicAttr(bool newValue=true)
::llvm::LogicalResult verifyInvariantsImpl()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
void setColumn(bool attrValue)
::mlir::StringAttr getSymNameAttrName()
::mlir::TypeAttr getTypeAttr()
void setSymNameAttr(::mlir::StringAttr attr)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes, bool isColumn=false)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::TypeAttr type, bool isColumn=false)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getTypeAttrName()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::StringAttr getSymNameAttrName(::mlir::OperationName name)
FieldDefOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::StringAttr getColumnAttrName(::mlir::OperationName name)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::StringAttr getTypeAttrName(::mlir::OperationName name)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
void setSymName(::llvm::StringRef attrValue)
FieldDefOpAdaptor Adaptor
void setType(::mlir::Type attrValue)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::StringRef getSymName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
::mlir::StringAttr getSymNameAttr()
::mlir::Attribute removeColumnAttr()
::mlir::UnitAttr getColumnAttr()
void setTypeAttr(::mlir::TypeAttr attr)
::llvm::LogicalResult verify(::mlir::Location loc)
FieldReadOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
FieldReadOpAdaptor(FieldReadOp op)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
FieldReadOpGenericAdaptor(RangeT values, const FieldReadOpGenericAdaptorBase &base)
FieldReadOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::llvm::SmallVector< RangeT > getMapOperands()
FieldReadOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
FieldReadOpGenericAdaptor(RangeT values, LateInst op)
RangeT getODSOperands(unsigned index)
FieldReadOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
FoldAdaptor::Properties Properties
::mlir::StringAttr getNumDimsPerMapAttrName()
::mlir::OperandRangeRange getMapOperands()
::mlir::MutableOperandRangeRange getMapOperandsMutable()
::mlir::TypedValue<::mlir::Type > getVal()
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
::mlir::StringAttr getFieldNameAttrName()
::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)
void setNumDimsPerMap(::llvm::ArrayRef< int32_t > attrValue)
::mlir::StringAttr getTableOffsetAttrName()
::llvm::StringRef getFieldName()
::mlir::StringAttr getFieldNameAttrName(::mlir::OperationName name)
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
::llvm::LogicalResult verify()
::mlir::OpOperand & getComponentMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value component, ::mlir::StringAttr field)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
bool isRead()
Return true if the op is a read, false if it's a write.
::mlir::TypedValue<::llzk::component::StructType > getComponent()
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::mlir::ArrayRef<::mlir::NamedAttribute > attrs)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
inline ::mlir::FailureOr< SymbolLookupResult< FieldDefOp > > getFieldDefOp(::mlir::SymbolTableCollection &tables)
Gets the definition for the field referenced in this op.
FieldReadOpAdaptor Adaptor
::mlir::FlatSymbolRefAttr getFieldNameAttr()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type resultType, ::mlir::Value component, ::mlir::StringAttr field, ::mlir::Attribute dist, ::mlir::ValueRange mapOperands, std::optional< int32_t > numDims)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getMapOpGroupSizesAttrName()
::mlir::Operation::result_range getODSResults(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::StringAttr getMapOpGroupSizesAttrName(::mlir::OperationName name)
void setNumDimsPerMapAttr(::mlir::DenseI32ArrayAttr attr)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::StringAttr getTableOffsetAttrName(::mlir::OperationName name)
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
static constexpr ::llvm::StringLiteral getOperationName()
void setMapOpGroupSizes(::llvm::ArrayRef< int32_t > attrValue)
::std::optional<::mlir::Attribute > getTableOffset()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void setMapOpGroupSizesAttr(::mlir::DenseI32ArrayAttr attr)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static llvm::hash_code computePropertiesHash(const Properties &prop)
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::StringAttr getNumDimsPerMapAttrName(::mlir::OperationName name)
void setFieldName(::llvm::StringRef attrValue)
::mlir::Attribute removeTableOffsetAttr()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
void setFieldNameAttr(::mlir::FlatSymbolRefAttr attr)
::mlir::Attribute getTableOffsetAttr()
void print(::mlir::OpAsmPrinter &_odsPrinter)
FieldReadOpGenericAdaptor< RangeT > GenericAdaptor
void setTableOffsetAttr(::mlir::Attribute attr)
FieldWriteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
FieldWriteOpAdaptor(FieldWriteOp op)
FieldWriteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
FieldWriteOpGenericAdaptor(RangeT values, const FieldWriteOpGenericAdaptorBase &base)
FieldWriteOpGenericAdaptor(RangeT values, LateInst op)
FieldWriteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
FieldWriteOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
bool isRead()
Return true if the op is a read, false if it's a write.
::llvm::StringRef getFieldName()
FieldWriteOpAdaptor Adaptor
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::Operation::result_range getODSResults(unsigned index)
void setFieldName(::llvm::StringRef attrValue)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::StringAttr getFieldNameAttrName()
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::StringAttr getFieldNameAttrName(::mlir::OperationName name)
::mlir::TypedValue<::llzk::component::StructType > getComponent()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::OpOperand & getValMutable()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
inline ::mlir::FailureOr< SymbolLookupResult< FieldDefOp > > getFieldDefOp(::mlir::SymbolTableCollection &tables)
Gets the definition for the field referenced in this op.
::mlir::TypedValue<::mlir::Type > getVal()
::mlir::FlatSymbolRefAttr getFieldNameAttr()
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value component, ::mlir::FlatSymbolRefAttr field_name, ::mlir::Value val)
::mlir::OpOperand & getComponentMutable()
FieldWriteOpGenericAdaptor< RangeT > GenericAdaptor
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
static constexpr ::llvm::StringLiteral getOperationName()
::llvm::LogicalResult verifyInvariants()
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
FoldAdaptor::Properties Properties
static llvm::hash_code computePropertiesHash(const Properties &prop)
void setFieldNameAttr(::mlir::FlatSymbolRefAttr attr)
void print(::mlir::OpAsmPrinter &_odsPrinter)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
StructDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
StructDefOpAdaptor(StructDefOp op)
::llvm::LogicalResult verify(::mlir::Location loc)
StructDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
StructDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
StructDefOpGenericAdaptor(RangeT values, LateInst op)
StructDefOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
StructDefOpGenericAdaptor(RangeT values, const StructDefOpGenericAdaptorBase &base)
static llvm::hash_code computePropertiesHash(const Properties &prop)
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::LogicalResult hasColumns()
Returns wether the struct defines fields marked as columns.
StructType getType(::std::optional<::mlir::ArrayAttr > constParams={}) const
StructType getType(::std::optional<::mlir::ArrayAttr > constParams={})
Gets the StructType representing this struct.
::mlir::StringAttr getSymNameAttrName(::mlir::OperationName name)
FieldDefOp getFieldDef(::mlir::StringAttr fieldName)
Gets the FieldDefOp that defines the field in this structure with the given name, if present.
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::Region & getBodyRegion()
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
static constexpr ::llvm::StringLiteral getOperationName()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llzk::function::FuncDefOp getConstrainOrProductFuncOp()
Gets the FuncDefOp that defines the constrain function in this structure, if present,...
::llvm::LogicalResult verifyInvariants()
::std::vector< FieldDefOp > getFieldDefs()
Get all FieldDefOp in this structure.
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::StringRef getSymName()
::mlir::Attribute removeConstParamsAttr()
void setSymNameAttr(::mlir::StringAttr attr)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::Operation::result_range getODSResults(unsigned index)
StructDefOpAdaptor Adaptor
::mlir::SymbolRefAttr getFullyQualifiedName()
Return the full name for this struct from the root module, including any surrounding module scopes.
FoldAdaptor::Properties Properties
::mlir::StringAttr getConstParamsAttrName()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
bool hasParamNamed(::mlir::FlatSymbolRefAttr find)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::StringAttr sym_name, ::mlir::ArrayAttr const_params)
::llzk::function::FuncDefOp getConstrainFuncOp()
Gets the FuncDefOp that defines the constrain function in this structure, if present,...
::mlir::StringAttr getSymNameAttr()
::llzk::function::FuncDefOp getComputeOrProductFuncOp()
Gets the FuncDefOp that defines the compute function in this structure, if present,...
::mlir::StringAttr getConstParamsAttrName(::mlir::OperationName name)
::std::optional< ::mlir::ArrayAttr > getConstParams()
void setSymName(::llvm::StringRef attrValue)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
bool hasParamNamed(::mlir::StringAttr find)
Return true iff this StructDefOp has a parameter with the given name.
::llvm::LogicalResult verifyRegions()
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::ArrayAttr getConstParamsAttr()
::llzk::function::FuncDefOp getComputeFuncOp()
Gets the FuncDefOp that defines the compute function in this structure, if present,...
bool hasComputeConstrain()
Returns true iff this structure defines compute and constrain functions.
::mlir::StringAttr getSymNameAttrName()
bool isMainComponent()
Return true iff this StructDefOp is named "Main".
bool hasConstParamsAttr()
Return false iff getConstParamsAttr() returns nullptr
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
StructDefOpGenericAdaptor< RangeT > GenericAdaptor
void setConstParamsAttr(::mlir::ArrayAttr attr)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::std::string getHeaderString()
Generate header string, in the same format as the assemblyFormat.
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::RegionRange odsRegions
CreateStructOpGenericAdaptorBase(::mlir::Operation *op)
CreateStructOpGenericAdaptorBase(::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr getAttributes()
::mlir::DictionaryAttr odsAttrs
::llvm::StringRef getSymName()
::mlir::UnitAttr getColumnAttr()
FieldDefOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::RegionRange odsRegions
::mlir::TypeAttr getTypeAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr getAttributes()
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::mlir::StringAttr getSymNameAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
FieldReadOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::Attribute > getTableOffset()
::mlir::FlatSymbolRefAttr getFieldNameAttr()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
::mlir::DictionaryAttr getAttributes()
const Properties & getProperties()
::mlir::RegionRange odsRegions
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
::mlir::Attribute getTableOffsetAttr()
::std::optional<::mlir::OperationName > odsOpName
::llvm::StringRef getFieldName()
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
FieldWriteOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr getAttributes()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::FlatSymbolRefAttr getFieldNameAttr()
::llvm::StringRef getFieldName()
::mlir::DictionaryAttr odsAttrs
const Properties & getProperties()
::mlir::RegionRange odsRegions
::mlir::RegionRange getRegions()
::std::optional< ::mlir::ArrayAttr > getConstParams()
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr odsAttrs
StructDefOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::ArrayAttr getConstParamsAttr()
::mlir::Region & getBodyRegion()
::mlir::StringAttr getSymNameAttr()
::std::optional<::mlir::OperationName > odsOpName
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::llvm::StringRef getSymName()
::mlir::DictionaryAttr getAttributes()
const Properties & getProperties()
constexpr char FUNC_NAME_COMPUTE[]
Symbol name for the witness generation (and resp.
constexpr char FUNC_NAME_CONSTRAIN[]
llvm::StringLiteral getOperationName()
Get the operation name, like "constrain.eq" for the given OpClass.
void setColumn(const ::mlir::UnitAttr &propValue)
::mlir::UnitAttr columnTy
void setSymName(const ::mlir::StringAttr &propValue)
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
::mlir::StringAttr sym_nameTy
void setType(const ::mlir::TypeAttr &propValue)
tableOffsetTy tableOffset
bool operator!=(const Properties &rhs) const
numDimsPerMapTy numDimsPerMap
auto getMapOpGroupSizes()
void setMapOpGroupSizes(const ::mlir::DenseI32ArrayAttr &propValue)
::mlir::DenseI32ArrayAttr mapOpGroupSizesTy
::mlir::DenseI32ArrayAttr numDimsPerMapTy
::mlir::Attribute tableOffsetTy
::mlir::FlatSymbolRefAttr field_nameTy
void setTableOffset(const ::mlir::Attribute &propValue)
mapOpGroupSizesTy mapOpGroupSizes
void setFieldName(const ::mlir::FlatSymbolRefAttr &propValue)
bool operator==(const Properties &rhs) const
void setNumDimsPerMap(const ::mlir::DenseI32ArrayAttr &propValue)
bool operator==(const Properties &rhs) const
bool operator!=(const Properties &rhs) const
void setFieldName(const ::mlir::FlatSymbolRefAttr &propValue)
::mlir::FlatSymbolRefAttr field_nameTy
::mlir::ArrayAttr const_paramsTy
bool operator!=(const Properties &rhs) const
void setConstParams(const ::mlir::ArrayAttr &propValue)
bool operator==(const Properties &rhs) const
::mlir::StringAttr sym_nameTy
void setSymName(const ::mlir::StringAttr &propValue)
const_paramsTy const_params