LLZK 2.1.1
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 {
18namespace pod {
19class PodType;
20namespace detail {
21struct PodTypeStorage;
22} // namespace detail
23class PodType : public ::mlir::Type::TypeBase<PodType, ::mlir::Type, detail::PodTypeStorage, ::mlir::DestructurableTypeInterface::Trait> {
24public:
25 using Base::Base;
29 static PodType fromInitialValues(::mlir::MLIRContext *ctx, InitializedRecords init);
30
35 ::llvm::FailureOr<::mlir::Type> getRecord(::llvm::StringRef name, ::llvm::function_ref<::mlir::InFlightDiagnostic()>) const;
36
41 ::llvm::StringMap<::mlir::Type> getRecordMap() const;
42
44 ::mlir::Type getSingleRecordType(::mlir::StringAttr name) const;
45 static constexpr ::llvm::StringLiteral name = "pod.type";
46 static constexpr ::llvm::StringLiteral dialectName = "pod";
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);
52 static constexpr ::llvm::StringLiteral getMnemonic() {
53 return {"type"};
54 }
55
56 static ::mlir::Type parse(::mlir::AsmParser &odsParser);
57 void print(::mlir::AsmPrinter &odsPrinter) const;
58 ::llvm::ArrayRef<::llzk::pod::RecordAttr> getRecords() const;
59 ::std::optional<::llvm::DenseMap<::mlir::Attribute, ::mlir::Type>> getSubelementIndexMap() const;
60 ::mlir::Type getTypeAtIndex(::mlir::Attribute index) const;
61};
62} // namespace pod
63} // namespace llzk
64MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::pod::PodType)
65
66#endif // GET_TYPEDEF_CLASSES
67
static constexpr ::llvm::StringLiteral dialectName
Definition Types.h.inc:46
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:52
static PodType getChecked(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::mlir::MLIRContext *context, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp.inc:72
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:68
::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:82
::llvm::LogicalResult verifyInvariants(::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError, ::llvm::ArrayRef<::llzk::pod::RecordAttr > records)
Definition Types.cpp.inc:76
static constexpr ::llvm::StringLiteral name
Definition Types.h.inc:45
::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
mlir::ArrayRef< RecordValue > InitializedRecords
Definition Types.h:25