LLZK 0.1.0
Veridise's ZK Language IR
Loading...
Searching...
No Matches
TransformationPasses.h.inc
Go to the documentation of this file.
1/* Autogenerated by mlir-tblgen; don't manually edit */
2
3#ifdef GEN_PASS_DECL
4// Generate declarations for all passes.
5#define GEN_PASS_DECL_ARRAYTOSCALARPASS
6#undef GEN_PASS_DECL
7#endif // GEN_PASS_DECL
8
9//===----------------------------------------------------------------------===//
10// ArrayToScalarPass
11//===----------------------------------------------------------------------===//
12#ifdef GEN_PASS_DECL_ARRAYTOSCALARPASS
13#undef GEN_PASS_DECL_ARRAYTOSCALARPASS
14#endif // GEN_PASS_DECL_ARRAYTOSCALARPASS
15#ifdef GEN_PASS_DEF_ARRAYTOSCALARPASS
16namespace impl {
17
18template <typename DerivedT>
19class ArrayToScalarPassBase : public ::mlir::OperationPass<::mlir::ModuleOp> {
20public:
21 using Base = ArrayToScalarPassBase;
22
23 ArrayToScalarPassBase() : ::mlir::OperationPass<::mlir::ModuleOp>(::mlir::TypeID::get<DerivedT>()) {}
24 ArrayToScalarPassBase(const ArrayToScalarPassBase &other) : ::mlir::OperationPass<::mlir::ModuleOp>(other) {}
25 ArrayToScalarPassBase& operator=(const ArrayToScalarPassBase &) = delete;
26 ArrayToScalarPassBase(ArrayToScalarPassBase &&) = delete;
27 ArrayToScalarPassBase& operator=(ArrayToScalarPassBase &&) = delete;
28 ~ArrayToScalarPassBase() = default;
29
31 static constexpr ::llvm::StringLiteral getArgumentName() {
32 return ::llvm::StringLiteral("llzk-array-to-scalar");
33 }
34 ::llvm::StringRef getArgument() const override { return "llzk-array-to-scalar"; }
35
36 ::llvm::StringRef getDescription() const override { return "Replace arrays with scalar values"; }
37
39 static constexpr ::llvm::StringLiteral getPassName() {
40 return ::llvm::StringLiteral("ArrayToScalarPass");
41 }
42 ::llvm::StringRef getName() const override { return "ArrayToScalarPass"; }
43
45 static bool classof(const ::mlir::Pass *pass) {
46 return pass->getTypeID() == ::mlir::TypeID::get<DerivedT>();
47 }
48
50 std::unique_ptr<::mlir::Pass> clonePass() const override {
51 return std::make_unique<DerivedT>(*static_cast<const DerivedT *>(this));
52 }
53
55 void getDependentDialects(::mlir::DialectRegistry &registry) const override {
56 registry.insert<llzk::LLZKDialect>();
57 registry.insert<llzk::boolean::BoolDialect>();
58 registry.insert<llzk::array::ArrayDialect>();
59 registry.insert<llzk::component::StructDialect>();
60 registry.insert<llzk::constrain::ConstrainDialect>();
61 registry.insert<llzk::felt::FeltDialect>();
62 registry.insert<llzk::global::GlobalDialect>();
63 registry.insert<llzk::include::IncludeDialect>();
64 registry.insert<llzk::function::FunctionDialect>();
65 registry.insert<llzk::string::StringDialect>();
66 registry.insert<llzk::polymorphic::PolymorphicDialect>();
67 registry.insert<llzk::undef::UndefDialect>();
68 registry.insert<mlir::arith::ArithDialect>();
69 registry.insert<mlir::scf::SCFDialect>();
70 }
71
75 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(ArrayToScalarPassBase<DerivedT>)
76
77protected:
78private:
79};
80} // namespace impl
81#undef GEN_PASS_DEF_ARRAYTOSCALARPASS
82#endif // GEN_PASS_DEF_ARRAYTOSCALARPASS
83#ifdef GEN_PASS_REGISTRATION
84
85//===----------------------------------------------------------------------===//
86// ArrayToScalarPass Registration
87//===----------------------------------------------------------------------===//
88
89inline void registerArrayToScalarPass() {
90 ::mlir::registerPass([]() -> std::unique_ptr<::mlir::Pass> {
92 });
93}
94
95// Old registration code, kept for temporary backwards compatibility.
97 ::mlir::registerPass([]() -> std::unique_ptr<::mlir::Pass> {
99 });
100}
101
102//===----------------------------------------------------------------------===//
103// Transformation Registration
104//===----------------------------------------------------------------------===//
105
106inline void registerTransformationPasses() {
108}
109#undef GEN_PASS_REGISTRATION
110#endif // GEN_PASS_REGISTRATION
111// Deprecated. Please use the new per-pass macros.
112#ifdef GEN_PASS_CLASSES
113
114template <typename DerivedT>
115class ArrayToScalarPassBase : public ::mlir::OperationPass<::mlir::ModuleOp> {
116public:
117 using Base = ArrayToScalarPassBase;
118
119 ArrayToScalarPassBase() : ::mlir::OperationPass<::mlir::ModuleOp>(::mlir::TypeID::get<DerivedT>()) {}
120 ArrayToScalarPassBase(const ArrayToScalarPassBase &other) : ::mlir::OperationPass<::mlir::ModuleOp>(other) {}
121 ArrayToScalarPassBase& operator=(const ArrayToScalarPassBase &) = delete;
122 ArrayToScalarPassBase(ArrayToScalarPassBase &&) = delete;
123 ArrayToScalarPassBase& operator=(ArrayToScalarPassBase &&) = delete;
124 ~ArrayToScalarPassBase() = default;
125
127 static constexpr ::llvm::StringLiteral getArgumentName() {
128 return ::llvm::StringLiteral("llzk-array-to-scalar");
129 }
130 ::llvm::StringRef getArgument() const override { return "llzk-array-to-scalar"; }
131
132 ::llvm::StringRef getDescription() const override { return "Replace arrays with scalar values"; }
133
135 static constexpr ::llvm::StringLiteral getPassName() {
136 return ::llvm::StringLiteral("ArrayToScalarPass");
137 }
138 ::llvm::StringRef getName() const override { return "ArrayToScalarPass"; }
139
141 static bool classof(const ::mlir::Pass *pass) {
142 return pass->getTypeID() == ::mlir::TypeID::get<DerivedT>();
143 }
144
146 std::unique_ptr<::mlir::Pass> clonePass() const override {
147 return std::make_unique<DerivedT>(*static_cast<const DerivedT *>(this));
148 }
149
151 void getDependentDialects(::mlir::DialectRegistry &registry) const override {
152 registry.insert<llzk::LLZKDialect>();
153 registry.insert<llzk::boolean::BoolDialect>();
154 registry.insert<llzk::array::ArrayDialect>();
155 registry.insert<llzk::component::StructDialect>();
156 registry.insert<llzk::constrain::ConstrainDialect>();
157 registry.insert<llzk::felt::FeltDialect>();
158 registry.insert<llzk::global::GlobalDialect>();
159 registry.insert<llzk::include::IncludeDialect>();
160 registry.insert<llzk::function::FunctionDialect>();
161 registry.insert<llzk::string::StringDialect>();
162 registry.insert<llzk::polymorphic::PolymorphicDialect>();
163 registry.insert<llzk::undef::UndefDialect>();
164 registry.insert<mlir::arith::ArithDialect>();
165 registry.insert<mlir::scf::SCFDialect>();
166 }
167
171 MLIR_DEFINE_EXPLICIT_INTERNAL_INLINE_TYPE_ID(ArrayToScalarPassBase<DerivedT>)
172
173protected:
174};
175#undef GEN_PASS_CLASSES
176#endif // GEN_PASS_CLASSES
void registerArrayToScalarPass()
std::unique_ptr< mlir::Pass > createArrayToScalarPass()
void registerArrayToScalarPassPass()
void registerTransformationPasses()