LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Attrs.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* AttrDef Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9#ifdef GET_ATTRDEF_LIST
10#undef GET_ATTRDEF_LIST
11
12::llzk::function::AllowConstraintAttr,
13::llzk::function::AllowWitnessAttr,
14::llzk::function::AllowNonNativeFieldOpsAttr,
15::llzk::function::AllowVerifOpsAttr
16
17#endif // GET_ATTRDEF_LIST
18
19#ifdef GET_ATTRDEF_CLASSES
20#undef GET_ATTRDEF_CLASSES
21
22static ::mlir::OptionalParseResult generatedAttributeParser(::mlir::AsmParser &parser, ::llvm::StringRef *mnemonic, ::mlir::Type type, ::mlir::Attribute &value) {
23 return ::mlir::AsmParser::KeywordSwitch<::mlir::OptionalParseResult>(parser)
24 .Case(::llzk::function::AllowConstraintAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
25 value = ::llzk::function::AllowConstraintAttr::get(parser.getContext());
26 return ::mlir::success(!!value);
27 })
28 .Case(::llzk::function::AllowWitnessAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
29 value = ::llzk::function::AllowWitnessAttr::get(parser.getContext());
30 return ::mlir::success(!!value);
31 })
32 .Case(::llzk::function::AllowNonNativeFieldOpsAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
33 value = ::llzk::function::AllowNonNativeFieldOpsAttr::get(parser.getContext());
34 return ::mlir::success(!!value);
35 })
36 .Case(::llzk::function::AllowVerifOpsAttr::getMnemonic(), [&](llvm::StringRef, llvm::SMLoc) {
37 value = ::llzk::function::AllowVerifOpsAttr::get(parser.getContext());
38 return ::mlir::success(!!value);
39 })
40 .Default([&](llvm::StringRef keyword, llvm::SMLoc) {
41 *mnemonic = keyword;
42 return std::nullopt;
43 });
44}
45
46static ::llvm::LogicalResult generatedAttributePrinter(::mlir::Attribute def, ::mlir::AsmPrinter &printer) {
47 return ::llvm::TypeSwitch<::mlir::Attribute, ::llvm::LogicalResult>(def) .Case<::llzk::function::AllowConstraintAttr>([&](auto t) {
48 printer << ::llzk::function::AllowConstraintAttr::getMnemonic();
49 return ::mlir::success();
50 })
51 .Case<::llzk::function::AllowWitnessAttr>([&](auto t) {
52 printer << ::llzk::function::AllowWitnessAttr::getMnemonic();
53 return ::mlir::success();
54 })
55 .Case<::llzk::function::AllowNonNativeFieldOpsAttr>([&](auto t) {
56 printer << ::llzk::function::AllowNonNativeFieldOpsAttr::getMnemonic();
57 return ::mlir::success();
58 })
59 .Case<::llzk::function::AllowVerifOpsAttr>([&](auto t) {
60 printer << ::llzk::function::AllowVerifOpsAttr::getMnemonic();
61 return ::mlir::success();
62 })
63 .Default([](auto) { return ::mlir::failure(); });
64}
65
66namespace llzk {
67namespace function {
68} // namespace function
69} // namespace llzk
70MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowConstraintAttr)
71namespace llzk {
72namespace function {
73} // namespace function
74} // namespace llzk
75MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowWitnessAttr)
76namespace llzk {
77namespace function {
78} // namespace function
79} // namespace llzk
80MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowNonNativeFieldOpsAttr)
81namespace llzk {
82namespace function {
83} // namespace function
84} // namespace llzk
85MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::function::AllowVerifOpsAttr)
86namespace llzk {
87namespace function {
88
90::mlir::Attribute FunctionDialect::parseAttribute(::mlir::DialectAsmParser &parser,
91 ::mlir::Type type) const {
92 ::llvm::SMLoc typeLoc = parser.getCurrentLocation();
93 ::llvm::StringRef attrTag;
94 {
95 ::mlir::Attribute attr;
96 auto parseResult = generatedAttributeParser(parser, &attrTag, type, attr);
97 if (parseResult.has_value())
98 return attr;
99 }
100
101 parser.emitError(typeLoc) << "unknown attribute `"
102 << attrTag << "` in dialect `" << getNamespace() << "`";
103 return {};
104}
106void FunctionDialect::printAttribute(::mlir::Attribute attr,
107 ::mlir::DialectAsmPrinter &printer) const {
108 if (::mlir::succeeded(generatedAttributePrinter(attr, printer)))
109 return;
110
111}
112} // namespace function
113} // namespace llzk
114
115#endif // GET_ATTRDEF_CLASSES
116
::mlir::Attribute parseAttribute(::mlir::DialectAsmParser &parser, ::mlir::Type type) const override
Parse an attribute registered to this dialect.
void printAttribute(::mlir::Attribute attr, ::mlir::DialectAsmPrinter &os) const override
Print an attribute registered to this dialect.