43 auto &propStorage = this->initializedRecords;
44 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(propStorage);
47 this->initializedRecords = propValue;
53 auto &propStorage = this->mapOpGroupSizes;
54 return ::llvm::cast<::mlir::DenseI32ArrayAttr>(propStorage);
57 this->mapOpGroupSizes = propValue;
63 auto &propStorage = this->numDimsPerMap;
64 return ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(propStorage);
67 this->numDimsPerMap = propValue;
72 auto &propStorage = this->operandSegmentSizes;
76 auto &propStorage = this->operandSegmentSizes;
77 ::llvm::copy(propValue, propStorage.begin());
88 return !(*
this == rhs);
117 auto attr = ::llvm::cast<::mlir::DenseI32ArrayAttr>(
getProperties().mapOpGroupSizes);
124template <
typename RangeT>
126 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
137 template <
typename LateInst = NewPodOp,
typename = std::enable_if_t<std::is_same_v<LateInst, NewPodOp>>>
146 return {std::next(odsOperands.begin(), valueRange.first),
147 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
158 ::llvm::SmallVector<RangeT> tblgenTmpOperandGroups;
159 for (
int i = 0, e = sizes.size(); i < e; ++i) {
160 tblgenTmpOperandGroups.push_back(tblgenTmpOperands.take_front(sizes[i]));
161 tblgenTmpOperands = tblgenTmpOperands.drop_front(sizes[i]);
163 return tblgenTmpOperandGroups;
178 ::llvm::LogicalResult
verify(::mlir::Location loc);
180class NewPodOp :
public ::mlir::Op<NewPodOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::llzk::pod::PodType>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::VariadicOperands, ::mlir::OpTrait::AttrSizedOperandSegments, ::llzk::VerifySizesForMultiAffineOps<1>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait, ::mlir::ConditionallySpeculatable::Trait, ::mlir::OpTrait::AlwaysSpeculatableImplTrait, ::mlir::MemoryEffectOpInterface::Trait, ::mlir::OpAsmOpInterface::Trait> {
185 template <
typename RangeT>
190 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"initializedRecords"), ::llvm::StringRef(
"mapOpGroupSizes"), ::llvm::StringRef(
"numDimsPerMap"), ::llvm::StringRef(
"operandSegmentSizes")};
191 return ::llvm::ArrayRef(attrNames);
195 return getAttributeNameForIndex(0);
199 return getAttributeNameForIndex(name, 0);
203 return getAttributeNameForIndex(1);
207 return getAttributeNameForIndex(name, 1);
211 return getAttributeNameForIndex(2);
215 return getAttributeNameForIndex(name, 2);
219 return (*this)->getName().getAttributeNames().back();
223 return name.getAttributeNames().back();
227 return ::llvm::StringLiteral(
"pod.new");
233 return {std::next(getOperation()->operand_begin(), valueRange.first),
234 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
253 return {std::next(getOperation()->result_begin(), valueRange.first),
254 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
258 return ::llvm::cast<::mlir::TypedValue<::llzk::pod::PodType>>(*
getODSResults(0).begin());
261 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
264 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
267 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
268 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
271 return ::llvm::dyn_cast_or_null<::mlir::ArrayAttr>(getProperties().initializedRecords);
276 return ::llvm::dyn_cast_or_null<::mlir::DenseI32ArrayAttr>(getProperties().numDimsPerMap);
281 return ::llvm::cast<::mlir::DenseI32ArrayAttr>(getProperties().mapOpGroupSizes);
286 getProperties().initializedRecords = attr;
290 getProperties().numDimsPerMap = attr;
295 getProperties().mapOpGroupSizes = attr;
304 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
305 void print(::mlir::OpAsmPrinter &p);
308 ::llvm::LogicalResult
verify();
310 void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects);
312 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
313 return getAttributeNameForIndex((*this)->getName(), index);
316 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
317 assert(index < 3 &&
"invalid attribute index");
318 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
319 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
320 "dependent dialect loading?");
321 return name.getAttributeNames()[index];
346 auto &propStorage = this->record_name;
347 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(propStorage);
350 this->record_name = propValue;
358 return !(*
this == rhs);
386 auto attr = ::llvm::cast<::mlir::FlatSymbolRefAttr>(
getProperties().record_name);
393template <
typename RangeT>
395 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
406 template <
typename LateInst = ReadPodOp,
typename = std::enable_if_t<std::is_same_v<LateInst, ReadPodOp>>>
415 return {std::next(odsOperands.begin(), valueRange.first),
416 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
435 ::llvm::LogicalResult
verify(::mlir::Location loc);
437class ReadPodOp :
public ::mlir::Op<ReadPodOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::OneResult, ::mlir::OpTrait::OneTypedResult<::mlir::Type>::Impl, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::OneOperand, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
442 template <
typename RangeT>
447 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"record_name")};
448 return ::llvm::ArrayRef(attrNames);
452 return getAttributeNameForIndex(0);
456 return getAttributeNameForIndex(name, 0);
460 return ::llvm::StringLiteral(
"pod.read");
469 return {std::next(getOperation()->operand_begin(), valueRange.first),
470 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
474 return ::llvm::cast<::mlir::TypedValue<::llzk::pod::PodType>>(*
getODSOperands(0).begin());
479 return getOperation()->getOpOperand(range.first);
488 return {std::next(getOperation()->result_begin(), valueRange.first),
489 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
493 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSResults(0).begin());
496 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
499 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
502 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
503 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
506 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(getProperties().record_name);
511 getProperties().record_name = attr;
515 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name);
516 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name);
517 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value pod_ref, ::llvm::StringRef record_name);
518 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::llvm::StringRef record_name);
519 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
522 ::llvm::LogicalResult
verify();
523 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
524 void print(::mlir::OpAsmPrinter &_odsPrinter);
526 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
527 return getAttributeNameForIndex((*this)->getName(), index);
530 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
531 assert(index < 1 &&
"invalid attribute index");
532 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
533 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
534 "dependent dialect loading?");
535 return name.getAttributeNames()[index];
559 auto &propStorage = this->record_name;
560 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(propStorage);
563 this->record_name = propValue;
571 return !(*
this == rhs);
599 auto attr = ::llvm::cast<::mlir::FlatSymbolRefAttr>(
getProperties().record_name);
606template <
typename RangeT>
608 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
619 template <
typename LateInst = WritePodOp,
typename = std::enable_if_t<std::is_same_v<LateInst, WritePodOp>>>
628 return {std::next(odsOperands.begin(), valueRange.first),
629 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
652 ::llvm::LogicalResult
verify(::mlir::Location loc);
654class WritePodOp :
public ::mlir::Op<WritePodOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::mlir::OpTrait::OpInvariants, ::mlir::BytecodeOpInterface::Trait> {
659 template <
typename RangeT>
664 static ::llvm::StringRef attrNames[] = {::llvm::StringRef(
"record_name")};
665 return ::llvm::ArrayRef(attrNames);
669 return getAttributeNameForIndex(0);
673 return getAttributeNameForIndex(name, 0);
677 return ::llvm::StringLiteral(
"pod.write");
686 return {std::next(getOperation()->operand_begin(), valueRange.first),
687 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
691 return ::llvm::cast<::mlir::TypedValue<::llzk::pod::PodType>>(*
getODSOperands(0).begin());
695 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*
getODSOperands(1).begin());
700 return getOperation()->getOpOperand(range.first);
705 return getOperation()->getOpOperand(range.first);
714 return {std::next(getOperation()->result_begin(), valueRange.first),
715 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
718 static ::llvm::LogicalResult
setPropertiesFromAttr(
Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
721 static std::optional<mlir::Attribute>
getInherentAttr(::mlir::MLIRContext *ctx,
const Properties &prop, llvm::StringRef name);
724 static ::llvm::LogicalResult
verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
725 static ::llvm::LogicalResult
readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state);
728 return ::llvm::cast<::mlir::FlatSymbolRefAttr>(getProperties().record_name);
733 getProperties().record_name = attr;
737 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name, ::mlir::Value value);
738 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name, ::mlir::Value value);
739 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value pod_ref, ::llvm::StringRef record_name, ::mlir::Value value);
740 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value pod_ref, ::llvm::StringRef record_name, ::mlir::Value value);
741 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
744 ::llvm::LogicalResult
verify();
745 static ::mlir::ParseResult
parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
746 void print(::mlir::OpAsmPrinter &_odsPrinter);
748 ::mlir::StringAttr getAttributeNameForIndex(
unsigned index) {
749 return getAttributeNameForIndex((*this)->getName(), index);
752 static ::mlir::StringAttr getAttributeNameForIndex(::mlir::OperationName name,
unsigned index) {
753 assert(index < 1 &&
"invalid attribute index");
754 assert(name.getStringRef() ==
getOperationName() &&
"invalid operation name");
755 assert(name.isRegistered() &&
"Operation isn't registered, missing a "
756 "dependent dialect loading?");
757 return name.getAttributeNames()[index];
::llvm::LogicalResult verify(::mlir::Location loc)
NewPodOpAdaptor(NewPodOp op)
NewPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
NewPodOpGenericAdaptor(RangeT values, const NewPodOpGenericAdaptorBase &base)
::llvm::SmallVector< RangeT > getMapOperands()
NewPodOpGenericAdaptor(RangeT values, LateInst op)
RangeT getInitialValues()
NewPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs)
NewPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
NewPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
void print(::mlir::OpAsmPrinter &p)
::llvm::LogicalResult verifyInvariants()
::mlir::StringAttr getMapOpGroupSizesAttrName(::mlir::OperationName name)
::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 setMapOpGroupSizesAttr(::mlir::DenseI32ArrayAttr attr)
::mlir::ArrayAttr getInitializedRecordsAttr()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult verifyInvariantsImpl()
::mlir::Operation::operand_range getInitialValues()
::mlir::StringAttr getNumDimsPerMapAttrName(::mlir::OperationName name)
::mlir::OperandRangeRange getMapOperands()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::SmallVector<::llzk::pod::RecordValue > getInitializedRecordValues()
NewPodOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
static void populateDefaultProperties(::mlir::OperationName opName, Properties &properties)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
void setMapOpGroupSizes(::llvm::ArrayRef< int32_t > attrValue)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::pod::InitializedRecords initialValues={})
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::pod::PodType resultType, ::llvm::ArrayRef<::mlir::ValueRange > mapOperands, ::mlir::DenseI32ArrayAttr numDimsPerMap, ::llzk::pod::InitializedRecords initialValues={})
::mlir::StringAttr getOperandSegmentSizesAttrName(::mlir::OperationName name)
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
::mlir::Operation::result_range getODSResults(unsigned index)
::mlir::TypedValue<::llzk::pod::PodType > getResult()
::mlir::StringAttr getInitializedRecordsAttrName()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::mlir::StringAttr getMapOpGroupSizesAttrName()
void setInitializedRecordsAttr(::mlir::ArrayAttr attr)
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
::mlir::MutableOperandRange getInitialValuesMutable()
void setNumDimsPerMap(::llvm::ArrayRef< int32_t > attrValue)
void getAsmResultNames(::mlir::OpAsmSetValueNameFn setNameFn)
::mlir::StringAttr getOperandSegmentSizesAttrName()
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
FoldAdaptor::Properties Properties
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::llzk::pod::PodType resultType, ::llzk::pod::InitializedRecords initialValues={})
::mlir::MutableOperandRangeRange getMapOperandsMutable()
::llvm::LogicalResult verify()
::mlir::StringAttr getInitializedRecordsAttrName(::mlir::OperationName name)
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::ArrayAttr getInitializedRecords()
void setNumDimsPerMapAttr(::mlir::DenseI32ArrayAttr attr)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::mlir::StringAttr getNumDimsPerMapAttrName()
static constexpr ::llvm::StringLiteral getOperationName()
ReadPodOpAdaptor(ReadPodOp op)
ReadPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
ReadPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
ReadPodOpGenericAdaptor(RangeT values, const ReadPodOpGenericAdaptorBase &base)
RangeT getODSOperands(unsigned index)
ReadPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
ReadPodOpGenericAdaptor(RangeT values, LateInst op)
ReadPodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verifyInvariants()
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::llvm::StringRef getRecordName()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::mlir::TypedValue<::mlir::Type > getResult()
::mlir::Operation::operand_range getODSOperands(unsigned index)
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
ReadPodOpGenericAdaptor< RangeT > GenericAdaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::mlir::FlatSymbolRefAttr getRecordNameAttr()
::llvm::LogicalResult verifyInvariantsImpl()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verify()
FoldAdaptor::Properties Properties
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::TypedValue<::llzk::pod::PodType > getPodRef()
void print(::mlir::OpAsmPrinter &_odsPrinter)
static llvm::hash_code computePropertiesHash(const Properties &prop)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
static constexpr ::llvm::StringLiteral getOperationName()
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::Operation::result_range getODSResults(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::mlir::OpOperand & getPodRefMutable()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name)
::mlir::StringAttr getRecordNameAttrName()
::mlir::StringAttr getRecordNameAttrName(::mlir::OperationName name)
void setRecordNameAttr(::mlir::FlatSymbolRefAttr attr)
void setRecordName(::llvm::StringRef attrValue)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
WritePodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::LogicalResult verify(::mlir::Location loc)
WritePodOpAdaptor(WritePodOp op)
WritePodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
RangeT getODSOperands(unsigned index)
WritePodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::OpaqueProperties properties, ::mlir::RegionRange regions={})
WritePodOpGenericAdaptor(RangeT values, const WritePodOpGenericAdaptorBase &base)
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
WritePodOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
WritePodOpGenericAdaptor(RangeT values, LateInst op)
::mlir::Operation::result_range getODSResults(unsigned index)
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
::mlir::FlatSymbolRefAttr getRecordNameAttr()
::llvm::LogicalResult verify()
void setRecordNameAttr(::mlir::FlatSymbolRefAttr attr)
static llvm::hash_code computePropertiesHash(const Properties &prop)
void print(::mlir::OpAsmPrinter &_odsPrinter)
::llvm::LogicalResult readProperties(::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
::llvm::LogicalResult verifyInvariants()
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
static constexpr ::llvm::StringLiteral getOperationName()
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
::mlir::TypedValue<::mlir::Type > getValue()
::mlir::StringAttr getRecordNameAttrName(::mlir::OperationName name)
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
::mlir::OpOperand & getPodRefMutable()
void setRecordName(::llvm::StringRef attrValue)
WritePodOpGenericAdaptor< RangeT > GenericAdaptor
::mlir::TypedValue<::llzk::pod::PodType > getPodRef()
FoldAdaptor::Properties Properties
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
::mlir::OpOperand & getValueMutable()
::mlir::Operation::operand_range getODSOperands(unsigned index)
::llvm::LogicalResult verifyInvariantsImpl()
void writeProperties(::mlir::DialectBytecodeWriter &writer)
WritePodOpAdaptor Adaptor
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
::llvm::StringRef getRecordName()
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
::mlir::StringAttr getRecordNameAttrName()
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value pod_ref, ::mlir::FlatSymbolRefAttr record_name, ::mlir::Value value)
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
::mlir::DenseI32ArrayAttr getMapOpGroupSizesAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::ArrayAttr getInitializedRecords()
::llvm::ArrayRef< int32_t > getMapOpGroupSizes()
NewPodOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::llvm::ArrayRef< int32_t > getNumDimsPerMap()
::mlir::DictionaryAttr getAttributes()
::mlir::RegionRange odsRegions
::mlir::DenseI32ArrayAttr getNumDimsPerMapAttr()
::std::optional<::mlir::OperationName > odsOpName
::mlir::ArrayAttr getInitializedRecordsAttr()
const Properties & getProperties()
::mlir::DictionaryAttr odsAttrs
::mlir::DictionaryAttr getAttributes()
::llvm::StringRef getRecordName()
::mlir::FlatSymbolRefAttr getRecordNameAttr()
const Properties & getProperties()
::mlir::RegionRange odsRegions
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::std::optional<::mlir::OperationName > odsOpName
::mlir::DictionaryAttr odsAttrs
ReadPodOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::FlatSymbolRefAttr getRecordNameAttr()
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
::mlir::DictionaryAttr odsAttrs
::std::optional<::mlir::OperationName > odsOpName
const Properties & getProperties()
WritePodOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
::mlir::RegionRange odsRegions
::mlir::DictionaryAttr getAttributes()
::llvm::StringRef getRecordName()
mlir::ArrayRef< RecordValue > InitializedRecords
bool operator!=(const Properties &rhs) const
bool operator==(const Properties &rhs) const
void setOperandSegmentSizes(::llvm::ArrayRef< int32_t > propValue)
mapOpGroupSizesTy mapOpGroupSizes
operandSegmentSizesTy operandSegmentSizes
std::array< int32_t, 2 > operandSegmentSizesTy
::mlir::ArrayAttr initializedRecordsTy
void setInitializedRecords(const ::mlir::ArrayAttr &propValue)
auto getInitializedRecords()
::mlir::DenseI32ArrayAttr mapOpGroupSizesTy
initializedRecordsTy initializedRecords
void setNumDimsPerMap(const ::mlir::DenseI32ArrayAttr &propValue)
void setMapOpGroupSizes(const ::mlir::DenseI32ArrayAttr &propValue)
::mlir::DenseI32ArrayAttr numDimsPerMapTy
numDimsPerMapTy numDimsPerMap
::llvm::ArrayRef< int32_t > getOperandSegmentSizes() const
auto getMapOpGroupSizes()
bool operator!=(const Properties &rhs) const
void setRecordName(const ::mlir::FlatSymbolRefAttr &propValue)
record_nameTy record_name
bool operator==(const Properties &rhs) const
::mlir::FlatSymbolRefAttr record_nameTy
record_nameTy record_name
void setRecordName(const ::mlir::FlatSymbolRefAttr &propValue)
bool operator==(const Properties &rhs) const
::mlir::FlatSymbolRefAttr record_nameTy
bool operator!=(const Properties &rhs) const