LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Types.h.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* TypeDef Declarations *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_TYPEDEF_CLASSES
10#undef GET_TYPEDEF_CLASSES
11
12
13namespace mlir {
14class AsmParser;
15class AsmPrinter;
16} // namespace mlir
17namespace llzk::pod {
18
38class PodType;
39namespace detail {
40
41struct PodTypeStorage;
42
43} // namespace detail
44class PodType : public ::mlir::Type::TypeBase<PodType, ::mlir::Type, detail::PodTypeStorage, ::mlir::DestructurableTypeInterface::Trait> {
45public:
46 using Base::Base;
50 static PodType fromInitialValues(::mlir::MLIRContext *ctx, InitializedRecords init);
51
56 ::llvm::FailureOr<::mlir::Type> getRecord(::llvm::StringRef name, ::llvm::function_ref<::mlir::InFlightDiagnostic()>) const;
57
62 ::llvm::StringMap<::mlir::Type> getRecordMap() const;
63
65 ::mlir::Type getSingleRecordType(::mlir::StringAttr name) const;
66 static constexpr ::llvm::StringLiteral name = "pod.type";
67 static constexpr ::llvm::StringLiteral dialectName = "pod";
68 using Base::getChecked;
69 static PodType get(::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
70 static PodType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
71 static ::llvm::LogicalResult verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
72 static ::llvm::LogicalResult verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr> records);
73 static constexpr ::llvm::StringLiteral getMnemonic() {
74 return {"type"};
75 }
76
77 static ::mlir::Type parse(::mlir::AsmParser &odsParser);
78 void print(::mlir::AsmPrinter &odsPrinter) const;
79 ::llvm::ArrayRef<::llzk::pod::RecordAttr> getRecords() const;
80 ::std::optional<::llvm::DenseMap<::mlir::Attribute, ::mlir::Type>> getSubelementIndexMap() const;
81 ::mlir::Type getTypeAtIndex(::mlir::Attribute index) const;
82};
83
84} // namespace llzk::pod
85MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::pod::PodType)
86
87#endif // GET_TYPEDEF_CLASSES
88
static constexpr ::llvm::StringLiteral dialectName
Definition Types.h.inc:67
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.
Definition Types.cpp:50
static constexpr ::llvm::StringLiteral getMnemonic()
Definition Types.h.inc:73
static PodType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp.inc:74
static PodType fromInitialValues(::mlir::MLIRContext *ctx, InitializedRecords init)
Creates a new type from a set of initialized records.
Definition Types.cpp:42
static PodType get(::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp.inc:70
::llvm::StringMap<::mlir::Type > getRecordMap() const
Returns the records in map form.
Definition Types.cpp:59
::mlir::Type getTypeAtIndex(::mlir::Attribute index) const
Required by DestructurableTypeInterface / SROA pass.
Definition Types.cpp:86
::mlir::Type parse(::mlir::AsmParser &odsParser)
Definition Types.cpp.inc:84
::llvm::LogicalResult verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp.inc:78
static constexpr ::llvm::StringLiteral name
Definition Types.h.inc:66
::std::optional<::llvm::DenseMap<::mlir::Attribute, ::mlir::Type > > getSubelementIndexMap() const
Required by DestructurableTypeInterface / SROA pass.
Definition Types.cpp:77
::llvm::ArrayRef<::llzk::pod::RecordAttr > getRecords() const
::mlir::Type getSingleRecordType(::mlir::StringAttr name) const
Creates a PodType containing only the requested record.
Definition Types.cpp:67
::llvm::LogicalResult verify(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp:28
Common interface for operations that reference a plain-old-data struct value.
mlir::ArrayRef< RecordValue > InitializedRecords
Definition Types.h:25