LLZK 0.1.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.cpp.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10#ifdef GET_OP_LIST
11#undef GET_OP_LIST
12
14#endif // GET_OP_LIST
15
16#ifdef GET_OP_CLASSES
17#undef GET_OP_CLASSES
18
19
20//===----------------------------------------------------------------------===//
21// Local Utility Method Definitions
22//===----------------------------------------------------------------------===//
23
24namespace llzk {
25
26static ::llvm::LogicalResult __mlir_ods_local_type_constraint_Ops1(
27 ::mlir::Operation *op, ::mlir::Type type, ::llvm::StringRef valueKind,
28 unsigned valueIndex) {
29 if (!((::llzk::isValidType(type)))) {
30 return op->emitOpError(valueKind) << " #" << valueIndex
31 << " must be a valid LLZK type, but got " << type;
32 }
33 return ::mlir::success();
34}
35} // namespace llzk
36namespace llzk {
37
38//===----------------------------------------------------------------------===//
39// ::llzk::NonDetOp definitions
40//===----------------------------------------------------------------------===//
41
42namespace detail {
43} // namespace detail
45
46::llvm::LogicalResult NonDetOpAdaptor::verify(::mlir::Location loc) {
47 return ::mlir::success();
48}
49
50void NonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res) {
51 odsState.addTypes(res);
52}
53
54void NonDetOp::build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes) {
55 assert(resultTypes.size() == 1u && "mismatched number of results");
56 odsState.addTypes(resultTypes);
57}
58
59void NonDetOp::build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes) {
60 assert(operands.size() == 0u && "mismatched number of parameters");
61 odsState.addOperands(operands);
62 odsState.addAttributes(attributes);
63 assert(resultTypes.size() == 1u && "mismatched number of return types");
64 odsState.addTypes(resultTypes);
65}
66
67::llvm::LogicalResult NonDetOp::verifyInvariantsImpl() {
68 {
69 unsigned index = 0; (void)index;
70 auto valueGroup0 = getODSResults(0);
71
72 for (auto v : valueGroup0) {
73 if (::mlir::failed(__mlir_ods_local_type_constraint_Ops1(*this, v.getType(), "result", index++)))
74 return ::mlir::failure();
75 }
76 }
77 return ::mlir::success();
78}
79
80::llvm::LogicalResult NonDetOp::verifyInvariants() {
81 return verifyInvariantsImpl();
82}
83
84::mlir::ParseResult NonDetOp::parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result) {
85 ::mlir::Type resRawType{};
86 ::llvm::ArrayRef<::mlir::Type> resTypes(&resRawType, 1);
87 if (parser.parseColon())
88 return ::mlir::failure();
89
90 {
91 ::mlir::Type type;
92 if (parser.parseCustomTypeWithFallback(type))
93 return ::mlir::failure();
94 resRawType = type;
95 }
96 {
97 auto loc = parser.getCurrentLocation();(void)loc;
98 if (parser.parseOptionalAttrDict(result.attributes))
99 return ::mlir::failure();
100 }
101 result.addTypes(resTypes);
102 return ::mlir::success();
103}
104
105void NonDetOp::print(::mlir::OpAsmPrinter &_odsPrinter) {
106 _odsPrinter << ' ' << ":";
107 _odsPrinter << ' ';
108 {
109 auto type = getRes().getType();
110 if (auto validType = ::llvm::dyn_cast<::mlir::Type>(type))
111 _odsPrinter.printStrippedAttrOrType(validType);
112 else
113 _odsPrinter << type;
114 }
115 ::llvm::SmallVector<::llvm::StringRef, 2> elidedAttrs;
116 _odsPrinter.printOptionalAttrDict((*this)->getAttrs(), elidedAttrs);
117}
118
119void NonDetOp::getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect>> &effects) {
120}
121
122} // namespace llzk
123MLIR_DEFINE_EXPLICIT_TYPE_ID(::llzk::NonDetOp)
124
125
126#endif // GET_OP_CLASSES
127
NonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Definition Ops.h.inc:51
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:46
NonDetOpAdaptor(NonDetOp op)
Definition Ops.cpp.inc:44
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:114
::mlir::TypedValue<::mlir::Type > getRes()
Definition Ops.h.inc:120
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:67
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:105
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res)
Definition Ops.cpp.inc:50
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:80
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:84
void getEffects(::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect > > &effects)
Definition Ops.cpp.inc:119
bool isValidType(Type type)