LLZK 3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Loading...
Searching...
No Matches
Ops.h.inc
Go to the documentation of this file.
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Op Declarations *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* From: Ops.td *|
7|* *|
8\*===----------------------------------------------------------------------===*/
9
10namespace llzk::constrain {
11
18
19} // namespace llzk::constrain
20namespace llzk::constrain {
21
24class EmitEqualityOp;
25
26} // namespace llzk::constrain
27#ifdef GET_OP_CLASSES
28#undef GET_OP_CLASSES
29
30namespace llzk::constrain {
31
32
33//===----------------------------------------------------------------------===//
34// ::llzk::constrain::EmitContainmentOp declarations
35//===----------------------------------------------------------------------===//
36
37namespace detail {
38
40public:
41 using Properties = ::mlir::EmptyProperties;
42protected:
43 ::mlir::DictionaryAttr odsAttrs;
44 ::std::optional<::mlir::OperationName> odsOpName;
46 ::mlir::RegionRange odsRegions;
47public:
48 EmitContainmentOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
49 odsOpName.emplace("constrain.in", odsAttrs.getContext());
50 }
51
53
54 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
55 return {index, 1};
56 }
57
59 return properties;
60 }
61
62 ::mlir::DictionaryAttr getAttributes() {
63 return odsAttrs;
64 }
65
66};
67
68} // namespace detail
69template <typename RangeT>
71 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
73 static constexpr int odsIndex_lhs = 0;
74 static constexpr int odsIndex_rhs = 1;
75public:
76 EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
77
78 EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : EmitContainmentOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
79
80 EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : EmitContainmentOpGenericAdaptor(values, attrs, Properties{}, {}) {}
81
82 EmitContainmentOpGenericAdaptor(RangeT values, const EmitContainmentOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
83
84 template <typename LateInst = EmitContainmentOp, typename = std::enable_if_t<std::is_same_v<LateInst, EmitContainmentOp>>>
85 EmitContainmentOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
86
87 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
88 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
89 }
90
91 RangeT getODSOperands(unsigned index) {
92 auto valueRange = getODSOperandIndexAndLength(index);
93 return {std::next(odsOperands.begin(), valueRange.first),
94 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
95 }
96
97 ValueT getLhs() {
98 return (*getODSOperands(0).begin());
99 }
100
101 ValueT getRhs() {
102 return (*getODSOperands(1).begin());
103 }
104
105 RangeT getOperands() {
106 return odsOperands;
107 }
108
109private:
110 RangeT odsOperands;
111};
113public:
116
117 ::llvm::LogicalResult verify(::mlir::Location loc);
118};
119class EmitContainmentOp : public ::mlir::Op<EmitContainmentOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::ConstraintGen, ::mlir::OpTrait::OpInvariants, ::llzk::constrain::ConstraintOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait> {
120public:
121 using Op::Op;
122 using Op::print;
124 template <typename RangeT>
127 static constexpr int odsIndex_lhs = 0;
128 static constexpr int odsIndex_rhs = 1;
130 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
131 return {};
132 }
133
134 static constexpr ::llvm::StringLiteral getOperationName() {
135 return ::llvm::StringLiteral("constrain.in");
136 }
137
138 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
139 return {index, 1};
140 }
141
142 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
143 auto valueRange = getODSOperandIndexAndLength(index);
144 return {std::next(getOperation()->operand_begin(), valueRange.first),
145 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
146 }
147
148 ::mlir::TypedValue<::llzk::array::ArrayType> getLhs() {
149 return ::llvm::cast<::mlir::TypedValue<::llzk::array::ArrayType>>(*getODSOperands(0).begin());
150 }
151
152 ::mlir::TypedValue<::mlir::Type> getRhs() {
153 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(1).begin());
154 }
155
156 ::mlir::OpOperand &getLhsMutable() {
157 auto range = getODSOperandIndexAndLength(0);
158 return getOperation()->getOpOperand(range.first);
159 }
160
161 ::mlir::OpOperand &getRhsMutable() {
162 auto range = getODSOperandIndexAndLength(1);
163 return getOperation()->getOpOperand(range.first);
164 }
165
166 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
167 return {index, 1};
168 }
169
170 ::mlir::Operation::result_range getODSResults(unsigned index) {
171 auto valueRange = getODSResultIndexAndLength(index);
172 return {std::next(getOperation()->result_begin(), valueRange.first),
173 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
174 }
175
176 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
177 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
178 static llvm::hash_code computePropertiesHash(const Properties &prop);
179 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
180 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
181 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
182 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
183 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
184 static EmitContainmentOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs);
185 static EmitContainmentOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value lhs, ::mlir::Value rhs);
186 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
187 static EmitContainmentOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
188 static EmitContainmentOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
189 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
190 static EmitContainmentOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
191 static EmitContainmentOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
192 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
193 static EmitContainmentOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
194 static EmitContainmentOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
195 ::llvm::LogicalResult verifyInvariantsImpl();
196 ::llvm::LogicalResult verifyInvariants();
197 ::llvm::LogicalResult verify();
198 ::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
199 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
200 void print(::mlir::OpAsmPrinter &_odsPrinter);
201public:
202};
203
204} // namespace llzk::constrain
205MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::constrain::EmitContainmentOp)
206
207namespace llzk::constrain {
208
209
210//===----------------------------------------------------------------------===//
211// ::llzk::constrain::EmitEqualityOp declarations
212//===----------------------------------------------------------------------===//
213
214namespace detail {
215
217public:
218 using Properties = ::mlir::EmptyProperties;
219protected:
220 ::mlir::DictionaryAttr odsAttrs;
221 ::std::optional<::mlir::OperationName> odsOpName;
223 ::mlir::RegionRange odsRegions;
224public:
225 EmitEqualityOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : odsAttrs(attrs), properties(properties), odsRegions(regions) { if (odsAttrs)
226 odsOpName.emplace("constrain.eq", odsAttrs.getContext());
227 }
228
230
231 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize) {
232 return {index, 1};
233 }
234
236 return properties;
237 }
238
239 ::mlir::DictionaryAttr getAttributes() {
240 return odsAttrs;
241 }
242
243};
244
245} // namespace detail
246template <typename RangeT>
248 using ValueT = ::llvm::detail::ValueOfRange<RangeT>;
250 static constexpr int odsIndex_lhs = 0;
251 static constexpr int odsIndex_rhs = 1;
252public:
253 EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions = {}) : Base(attrs, properties, regions), odsOperands(values) {}
254
255 EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions = {}) : EmitEqualityOpGenericAdaptor(values, attrs, (properties ? *properties.as<Properties *>() : Properties{}), regions) {}
256
257 EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs = nullptr) : EmitEqualityOpGenericAdaptor(values, attrs, Properties{}, {}) {}
258
259 EmitEqualityOpGenericAdaptor(RangeT values, const EmitEqualityOpGenericAdaptorBase &base) : Base(base), odsOperands(values) {}
260
261 template <typename LateInst = EmitEqualityOp, typename = std::enable_if_t<std::is_same_v<LateInst, EmitEqualityOp>>>
262 EmitEqualityOpGenericAdaptor(RangeT values, LateInst op) : Base(op), odsOperands(values) {}
263
264 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
265 return Base::getODSOperandIndexAndLength(index, odsOperands.size());
266 }
267
268 RangeT getODSOperands(unsigned index) {
269 auto valueRange = getODSOperandIndexAndLength(index);
270 return {std::next(odsOperands.begin(), valueRange.first),
271 std::next(odsOperands.begin(), valueRange.first + valueRange.second)};
272 }
273
274 ValueT getLhs() {
275 return (*getODSOperands(0).begin());
276 }
277
278 ValueT getRhs() {
279 return (*getODSOperands(1).begin());
280 }
281
282 RangeT getOperands() {
283 return odsOperands;
284 }
285
286private:
287 RangeT odsOperands;
288};
289class EmitEqualityOpAdaptor : public EmitEqualityOpGenericAdaptor<::mlir::ValueRange> {
290public:
293
294 ::llvm::LogicalResult verify(::mlir::Location loc);
295};
296class EmitEqualityOp : public ::mlir::Op<EmitEqualityOp, ::mlir::OpTrait::ZeroRegions, ::mlir::OpTrait::ZeroResults, ::mlir::OpTrait::ZeroSuccessors, ::mlir::OpTrait::NOperands<2>::Impl, ::llzk::function::ConstraintGen, ::mlir::OpTrait::OpInvariants, ::mlir::OpTrait::IsCommutative, ::mlir::OpTrait::Elementwise, ::mlir::OpTrait::Scalarizable, ::mlir::OpTrait::Vectorizable, ::mlir::OpTrait::Tensorizable, ::llzk::constrain::ConstraintOpInterface::Trait, ::mlir::SymbolUserOpInterface::Trait> {
297public:
298 using Op::Op;
299 using Op::print;
301 template <typename RangeT>
304 static constexpr int odsIndex_lhs = 0;
305 static constexpr int odsIndex_rhs = 1;
307 static ::llvm::ArrayRef<::llvm::StringRef> getAttributeNames() {
308 return {};
309 }
310
311 static constexpr ::llvm::StringLiteral getOperationName() {
312 return ::llvm::StringLiteral("constrain.eq");
313 }
314
315 std::pair<unsigned, unsigned> getODSOperandIndexAndLength(unsigned index) {
316 return {index, 1};
317 }
318
319 ::mlir::Operation::operand_range getODSOperands(unsigned index) {
320 auto valueRange = getODSOperandIndexAndLength(index);
321 return {std::next(getOperation()->operand_begin(), valueRange.first),
322 std::next(getOperation()->operand_begin(), valueRange.first + valueRange.second)};
323 }
324
325 ::mlir::TypedValue<::mlir::Type> getLhs() {
326 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(0).begin());
327 }
328
329 ::mlir::TypedValue<::mlir::Type> getRhs() {
330 return ::llvm::cast<::mlir::TypedValue<::mlir::Type>>(*getODSOperands(1).begin());
331 }
332
333 ::mlir::OpOperand &getLhsMutable() {
334 auto range = getODSOperandIndexAndLength(0);
335 return getOperation()->getOpOperand(range.first);
336 }
337
338 ::mlir::OpOperand &getRhsMutable() {
339 auto range = getODSOperandIndexAndLength(1);
340 return getOperation()->getOpOperand(range.first);
341 }
342
343 std::pair<unsigned, unsigned> getODSResultIndexAndLength(unsigned index) {
344 return {index, 1};
345 }
346
347 ::mlir::Operation::result_range getODSResults(unsigned index) {
348 auto valueRange = getODSResultIndexAndLength(index);
349 return {std::next(getOperation()->result_begin(), valueRange.first),
350 std::next(getOperation()->result_begin(), valueRange.first + valueRange.second)};
351 }
352
353 static ::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
354 static ::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop);
355 static llvm::hash_code computePropertiesHash(const Properties &prop);
356 static std::optional<mlir::Attribute> getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name);
357 static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value);
358 static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs);
359 static ::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError);
360 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs);
361 static EmitEqualityOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs);
362 static EmitEqualityOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::Value lhs, ::mlir::Value rhs);
363 static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
364 static EmitEqualityOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
365 static EmitEqualityOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::Value lhs, ::mlir::Value rhs);
366 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
367 static EmitEqualityOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
368 static EmitEqualityOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute> attributes = {});
369 static void build(::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
370 static EmitEqualityOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
371 static EmitEqualityOp create(::mlir::ImplicitLocOpBuilder &builder, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, const Properties &properties, ::llvm::ArrayRef<::mlir::NamedAttribute> discardableAttributes = {});
372 ::llvm::LogicalResult verifyInvariantsImpl();
373 ::llvm::LogicalResult verifyInvariants();
374 ::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable);
375 static ::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result);
376 void print(::mlir::OpAsmPrinter &_odsPrinter);
377public:
378 private:
379 static ::mlir::Type inferRHS(::mlir::Type lhsType);
380
381 static ::mlir::ParseResult parseInferredOrParsedType(::mlir::OpAsmParser &parser,
382 ::mlir::Type &rhsType, ::mlir::Type lhsType
383 ) {
384 if (mlir::succeeded(parser.parseOptionalComma())) {
385 // If there is a comma, parse the `rhsType`
386 mlir::Type type;
387 if (parser.parseCustomTypeWithFallback(type)) {
388 return mlir::failure();
389 }
390 rhsType = type;
391 } else {
392 // Otherwise, infer the `rhsType` from `lhsType`
393 rhsType = inferRHS(lhsType);
394 }
395 return mlir::success();
396 }
397
398 static void printInferredOrParsedType(::mlir::OpAsmPrinter &printer,
399 ::mlir::Operation *op, ::mlir::Type rhsType, ::mlir::Type lhsType
400 ) {
401 printer << ", ";
402 printer.printStrippedAttrOrType(rhsType);
403 }
404};
405
406} // namespace llzk::constrain
407MLIR_DECLARE_EXPLICIT_TYPE_ID(::llzk::constrain::EmitEqualityOp)
408
409
410#endif // GET_OP_CLASSES
411
EmitContainmentOpAdaptor(EmitContainmentOp op)
Definition Ops.cpp.inc:68
EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:76
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:70
EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:80
EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:78
EmitContainmentOpGenericAdaptor(RangeT values, const EmitContainmentOpGenericAdaptorBase &base)
Definition Ops.h.inc:82
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:87
EmitContainmentOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:85
EmitContainmentOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:76
static EmitContainmentOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:116
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:188
EmitContainmentOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:125
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:207
static constexpr int odsIndex_lhs
Definition Ops.h.inc:127
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:111
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:170
::llvm::LogicalResult verify()
Definition Ops.cpp:51
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:83
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:126
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:74
static constexpr int odsIndex_rhs
Definition Ops.h.inc:128
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:130
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:97
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:166
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
Definition Ops.cpp:44
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:134
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:107
::mlir::TypedValue<::mlir::Type > getRhs()
Definition Ops.h.inc:152
FoldAdaptor::Properties Properties
Definition Ops.h.inc:129
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:138
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:142
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:92
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:268
EmitContainmentOpAdaptor Adaptor
Definition Ops.h.inc:123
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:161
::mlir::TypedValue<::llzk::array::ArrayType > getLhs()
Definition Ops.h.inc:148
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:213
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:156
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:101
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:104
EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:253
::llvm::LogicalResult verify(::mlir::Location loc)
Definition Ops.cpp.inc:315
EmitEqualityOpAdaptor(EmitEqualityOp op)
Definition Ops.cpp.inc:313
EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:253
EmitEqualityOpGenericAdaptor(RangeT values, const EmitEqualityOpGenericAdaptorBase &base)
Definition Ops.h.inc:259
EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs, ::mlir::PropertyRef properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:255
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:264
EmitEqualityOpGenericAdaptor(RangeT values, LateInst op)
Definition Ops.h.inc:262
EmitEqualityOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs=nullptr)
Definition Ops.h.inc:257
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index)
Definition Ops.h.inc:315
static void populateInherentAttrs(::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
Definition Ops.cpp.inc:349
static constexpr ::llvm::StringLiteral getOperationName()
Definition Ops.h.inc:311
FoldAdaptor::Properties Properties
Definition Ops.h.inc:306
GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > > FoldAdaptor
Definition Ops.h.inc:303
::llvm::LogicalResult setPropertiesFromAttr(Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:319
static std::optional< mlir::Attribute > getInherentAttr(::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
Definition Ops.cpp.inc:342
::mlir::Attribute getPropertiesAsAttr(::mlir::MLIRContext *ctx, const Properties &prop)
Definition Ops.cpp.inc:328
EmitEqualityOpAdaptor Adaptor
Definition Ops.h.inc:300
::mlir::OpOperand & getRhsMutable()
Definition Ops.h.inc:338
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition Ops.cpp.inc:458
static llvm::hash_code computePropertiesHash(const Properties &prop)
Definition Ops.cpp.inc:337
::mlir::TypedValue<::mlir::Type > getLhs()
Definition Ops.h.inc:325
::mlir::Operation::operand_range getODSOperands(unsigned index)
Definition Ops.h.inc:319
::mlir::Operation::result_range getODSResults(unsigned index)
Definition Ops.h.inc:347
static constexpr int odsIndex_rhs
Definition Ops.h.inc:305
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition Ops.cpp.inc:508
static void setInherentAttr(Properties &prop, llvm::StringRef name, mlir::Attribute value)
Definition Ops.cpp.inc:346
::llvm::LogicalResult verifySymbolUses(::mlir::SymbolTableCollection &symbolTable)
Definition Ops.cpp:31
static constexpr int odsIndex_lhs
Definition Ops.h.inc:304
::llvm::LogicalResult verifyInvariants()
Definition Ops.cpp.inc:454
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:356
::llvm::LogicalResult verifyInvariantsImpl()
Definition Ops.cpp.inc:433
static EmitEqualityOp create(::mlir::OpBuilder &builder, ::mlir::Location location, ::mlir::Value lhs, ::mlir::Value rhs)
Definition Ops.cpp.inc:361
::mlir::OpOperand & getLhsMutable()
Definition Ops.h.inc:333
std::pair< unsigned, unsigned > getODSResultIndexAndLength(unsigned index)
Definition Ops.h.inc:343
static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames()
Definition Ops.h.inc:307
::mlir::TypedValue<::mlir::Type > getRhs()
Definition Ops.h.inc:329
EmitEqualityOpGenericAdaptor< RangeT > GenericAdaptor
Definition Ops.h.inc:302
::llvm::LogicalResult verifyInherentAttrs(::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
Definition Ops.cpp.inc:352
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:54
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:44
EmitContainmentOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:48
::std::optional<::mlir::OperationName > odsOpName
Definition Ops.h.inc:221
EmitEqualityOpGenericAdaptorBase(::mlir::DictionaryAttr attrs, const Properties &properties, ::mlir::RegionRange regions={})
Definition Ops.h.inc:225
std::pair< unsigned, unsigned > getODSOperandIndexAndLength(unsigned index, unsigned odsOperandsSize)
Definition Ops.h.inc:231
Common interface for operations that produce a constraint.