9#ifdef GET_TYPEDEF_CLASSES
10#undef GET_TYPEDEF_CLASSES
23class PodType :
public ::mlir::Type::TypeBase<PodType, ::mlir::Type, detail::PodTypeStorage, ::mlir::DestructurableTypeInterface::Trait> {
35 ::llvm::FailureOr<::mlir::Type>
getRecord(::llvm::StringRef
name, ::llvm::function_ref<::mlir::InFlightDiagnostic()>)
const;
45 static constexpr ::llvm::StringLiteral
name =
"pod.type";
47 using Base::getChecked;
48 static PodType get(::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
49 static PodType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
50 static ::llvm::LogicalResult
verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
51 static ::llvm::LogicalResult
verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
56 static ::mlir::Type
parse(::mlir::AsmParser &odsParser);
57 void print(::mlir::AsmPrinter &odsPrinter)
const;
58 ::llvm::ArrayRef<::llzk::pod::RecordAttr>
getRecords()
const;
static constexpr ::llvm::StringLiteral dialectName
void print(::mlir::AsmPrinter &odsPrinter) const
::llvm::FailureOr<::mlir::Type > getRecord(::llvm::StringRef name, ::llvm::function_ref<::mlir::InFlightDiagnostic()>) const
Searches a record by name.
static constexpr ::llvm::StringLiteral getMnemonic()
static PodType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
static PodType fromInitialValues(::mlir::MLIRContext *ctx, InitializedRecords init)
Creates a new type from a set of initialized records.
static PodType get(::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
::llvm::StringMap<::mlir::Type > getRecordMap() const
Returns the records in map form.
::mlir::Type getTypeAtIndex(::mlir::Attribute index) const
Required by DestructurableTypeInterface / SROA pass.
::mlir::Type parse(::mlir::AsmParser &odsParser)
::llvm::LogicalResult verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
static constexpr ::llvm::StringLiteral name
::std::optional<::llvm::DenseMap<::mlir::Attribute, ::mlir::Type > > getSubelementIndexMap() const
Required by DestructurableTypeInterface / SROA pass.
::llvm::ArrayRef<::llzk::pod::RecordAttr > getRecords() const
::mlir::Type getSingleRecordType(::mlir::StringAttr name) const
Creates a PodType containing only the requested record.
::llvm::LogicalResult verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
mlir::ArrayRef< RecordValue > InitializedRecords