LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
TransformationPassEnums.h.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Enum Utility Declarations *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: TransformationPasses.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10namespace llzk {
11namespace polymorphic {
12// Specifies the extent to which unused parameterized definitions (i.e. structs or free functions within a `poly.template`) are removed during the flattening pass.
13enum class FlatteningCleanupMode : uint32_t {
19};
20
21::std::optional<FlatteningCleanupMode> symbolizeFlatteningCleanupMode(uint32_t);
23::std::optional<FlatteningCleanupMode> symbolizeFlatteningCleanupMode(::llvm::StringRef);
24inline constexpr unsigned getMaxEnumValForFlatteningCleanupMode() {
25 return 4;
26}
27
28
29inline ::llvm::StringRef stringifyEnum(FlatteningCleanupMode enumValue) {
30 return stringifyFlatteningCleanupMode(enumValue);
31}
32
33template <typename EnumType>
34::std::optional<EnumType> symbolizeEnum(::llvm::StringRef);
35
36template <>
37inline ::std::optional<FlatteningCleanupMode> symbolizeEnum<FlatteningCleanupMode>(::llvm::StringRef str) {
39}
40} // namespace polymorphic
41} // namespace llzk
42
43namespace mlir {
44template <typename T, typename>
45struct FieldParser;
46
47template<>
49 template <typename ParserT>
50 static FailureOr<::llzk::polymorphic::FlatteningCleanupMode> parse(ParserT &parser) {
51 // Parse the keyword/string containing the enum.
52 std::string enumKeyword;
53 auto loc = parser.getCurrentLocation();
54 if (failed(parser.parseOptionalKeywordOrString(&enumKeyword)))
55 return parser.emitError(loc, "expected keyword for Specifies the extent to which unused parameterized definitions (i.e. structs or free functions within a `poly.template`) are removed during the flattening pass.");
56
57 // Symbolize the keyword.
58 if (::std::optional<::llzk::polymorphic::FlatteningCleanupMode> attr = ::llzk::polymorphic::symbolizeEnum<::llzk::polymorphic::FlatteningCleanupMode>(enumKeyword))
59 return *attr;
60 return parser.emitError(loc, "invalid Specifies the extent to which unused parameterized definitions (i.e. structs or free functions within a `poly.template`) are removed during the flattening pass. specification: ") << enumKeyword;
61 }
62};
63
68template<>
69struct FieldParser<std::optional<::llzk::polymorphic::FlatteningCleanupMode>, std::optional<::llzk::polymorphic::FlatteningCleanupMode>> {
70 template <typename ParserT>
71 static FailureOr<std::optional<::llzk::polymorphic::FlatteningCleanupMode>> parse(ParserT &parser) {
72 // Parse the keyword/string containing the enum.
73 std::string enumKeyword;
74 auto loc = parser.getCurrentLocation();
75 if (failed(parser.parseOptionalKeywordOrString(&enumKeyword)))
76 return std::optional<::llzk::polymorphic::FlatteningCleanupMode>{};
77
78 // Symbolize the keyword.
79 if (::std::optional<::llzk::polymorphic::FlatteningCleanupMode> attr = ::llzk::polymorphic::symbolizeEnum<::llzk::polymorphic::FlatteningCleanupMode>(enumKeyword))
80 return attr;
81 return parser.emitError(loc, "invalid Specifies the extent to which unused parameterized definitions (i.e. structs or free functions within a `poly.template`) are removed during the flattening pass. specification: ") << enumKeyword;
82 }
83};
84} // namespace mlir
85
86namespace llvm {
87inline ::llvm::raw_ostream &operator<<(::llvm::raw_ostream &p, ::llzk::polymorphic::FlatteningCleanupMode value) {
88 auto valueStr = stringifyEnum(value);
89 switch (value) {
90 case ::llzk::polymorphic::FlatteningCleanupMode::Unspecified:
91 case ::llzk::polymorphic::FlatteningCleanupMode::Disabled:
92 case ::llzk::polymorphic::FlatteningCleanupMode::Preimage:
93 break;
94 default:
95 return p << '"' << valueStr << '"';
96 }
97 return p << valueStr;
98}
99} // namespace llvm
100
101namespace llvm {
102template<> struct DenseMapInfo<::llzk::polymorphic::FlatteningCleanupMode> {
103 using StorageInfo = ::llvm::DenseMapInfo<uint32_t>;
104
105 static inline ::llzk::polymorphic::FlatteningCleanupMode getEmptyKey() {
106 return static_cast<::llzk::polymorphic::FlatteningCleanupMode>(StorageInfo::getEmptyKey());
107 }
108
109 static inline ::llzk::polymorphic::FlatteningCleanupMode getTombstoneKey() {
110 return static_cast<::llzk::polymorphic::FlatteningCleanupMode>(StorageInfo::getTombstoneKey());
111 }
112
113 static unsigned getHashValue(const ::llzk::polymorphic::FlatteningCleanupMode &val) {
114 return StorageInfo::getHashValue(static_cast<uint32_t>(val));
115 }
116
117 static bool isEqual(const ::llzk::polymorphic::FlatteningCleanupMode &lhs, const ::llzk::polymorphic::FlatteningCleanupMode &rhs) {
118 return lhs == rhs;
119 }
120};
121}
122
raw_ostream & operator<<(raw_ostream &os, llvm::PointerUnion< mlir::Value, mlir::Operation * > ptr)
inline ::std::optional< FlatteningCleanupMode > symbolizeEnum< FlatteningCleanupMode >(::llvm::StringRef str)
::std::optional< EnumType > symbolizeEnum(::llvm::StringRef)
::llvm::StringRef stringifyFlatteningCleanupMode(FlatteningCleanupMode val)
::std::optional< FlatteningCleanupMode > symbolizeFlatteningCleanupMode(::llvm::StringRef str)
inline ::llvm::StringRef stringifyEnum(FlatteningCleanupMode enumValue)
constexpr unsigned getMaxEnumValForFlatteningCleanupMode()
static inline ::llzk::polymorphic::FlatteningCleanupMode getTombstoneKey()
static inline ::llzk::polymorphic::FlatteningCleanupMode getEmptyKey()
static unsigned getHashValue(const ::llzk::polymorphic::FlatteningCleanupMode &val)
static bool isEqual(const ::llzk::polymorphic::FlatteningCleanupMode &lhs, const ::llzk::polymorphic::FlatteningCleanupMode &rhs)