LLZK
3.0.0
An open-source IR for Zero Knowledge (ZK) circuits
Toggle main menu visibility
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
13
::llzk::NonDetOp
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
24
namespace
llzk
{
25
26
static ::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
36
namespace
llzk
{
37
38
//===----------------------------------------------------------------------===//
39
// ::llzk::NonDetOp definitions
40
//===----------------------------------------------------------------------===//
41
42
namespace
detail
{
43
}
// namespace detail
44
NonDetOpAdaptor::NonDetOpAdaptor
(
NonDetOp
op) :
NonDetOpGenericAdaptor
(op->
getOperands
(), op) {}
45
46
::llvm::LogicalResult
NonDetOpAdaptor::verify
(::mlir::Location loc) {
47
return ::mlir::success();
48
}
49
50
void
NonDetOp::build
(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res) {
51
odsState.addTypes(res);
52
}
53
54
void
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
59
void
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
105
void
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
119
}
// namespace llzk
120
MLIR_DEFINE_EXPLICIT_TYPE_ID(
::llzk::NonDetOp
)
121
122
123
#endif
// GET_OP_CLASSES
124
llzk::NonDetOpAdaptor::NonDetOpGenericAdaptor
NonDetOpGenericAdaptor(RangeT values, ::mlir::DictionaryAttr attrs={}, const ::mlir::EmptyProperties &properties={}, ::mlir::RegionRange regions={})
Definition
Ops.h.inc:51
llzk::NonDetOpAdaptor::verify
::llvm::LogicalResult verify(::mlir::Location loc)
Definition
Ops.cpp.inc:46
llzk::NonDetOpAdaptor::NonDetOpAdaptor
NonDetOpAdaptor(NonDetOp op)
Definition
Ops.cpp.inc:44
llzk::NonDetOpGenericAdaptor<::mlir::ValueRange >::getOperands
::mlir::ValueRange getOperands()
Definition
Ops.h.inc:70
llzk::NonDetOp
Definition
Ops.h.inc:84
llzk::NonDetOp::getODSResults
::mlir::Operation::result_range getODSResults(unsigned index)
Definition
Ops.h.inc:114
llzk::NonDetOp::getRes
::mlir::TypedValue<::mlir::Type > getRes()
Definition
Ops.h.inc:120
llzk::NonDetOp::verifyInvariantsImpl
::llvm::LogicalResult verifyInvariantsImpl()
Definition
Ops.cpp.inc:67
llzk::NonDetOp::print
void print(::mlir::OpAsmPrinter &_odsPrinter)
Definition
Ops.cpp.inc:105
llzk::NonDetOp::build
static void build(::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type res)
Definition
Ops.cpp.inc:50
llzk::NonDetOp::verifyInvariants
::llvm::LogicalResult verifyInvariants()
Definition
Ops.cpp.inc:80
llzk::NonDetOp::parse
::mlir::ParseResult parse(::mlir::OpAsmParser &parser, ::mlir::OperationState &result)
Definition
Ops.cpp.inc:84
llzk::polymorphic::detail
Definition
SharedImpl.cpp:43
llzk
Definition
AnalysisPassEnums.cpp:19
llzk::isValidType
bool isValidType(Type type)
Definition
TypeHelper.cpp:516
build
include
llzk
Dialect
LLZK
IR
Ops.cpp.inc
Generated by
1.17.0
Copyright 2025 Veridise Inc. under the Apache License v2.0. Copyright 2026 Project LLZK under the Apache License v2.0.