[Mlir-commits] [mlir] [emitC]Pass in `mlir-opt` to wrap a func in class (PR #141158)
Paul Kirth
llvmlistbot at llvm.org
Mon Jun 16 17:59:51 PDT 2025
Valentin Clement =?utf-8?b?KOODkOODrOODsw=?=,Jaddyen <ajaden at google.com>,Jaddyen
<ajaden at google.com>,Jaddyen <ajaden at google.com>,Jaddyen <ajaden at google.com>,Jaddyen
<ajaden at google.com>,Jaddyen <ajaden at google.com>,Jaddyen <ajaden at google.com>
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/141158 at github.com>
================
@@ -20,4 +20,17 @@ def FormExpressionsPass : Pass<"form-expressions"> {
let dependentDialects = ["emitc::EmitCDialect"];
}
+def WrapFuncInClassPass : Pass<"wrap-emitc-func-in-class"> {
+ let summary = "Wrap functions in classes, using arguments as fields.";
+ let description = [{
+ This pass transforms `emitc.func` operations into `emitc.class` operations.
+ Function arguments become fields of the class, and the function body is moved
+ to a new `execute` method within the class.
+ }];
+ let dependentDialects = ["emitc::EmitCDialect"];
+ let options = [Option<
+ "namedAttribute", "named-attribute", "std::string", "\"\"",
+ "Name of the attribute to look for field names on function arguments">];
----------------
ilovepi wrote:
```suggestion
"Name of the attribute used to map the original function arguments to field names">];
```
https://github.com/llvm/llvm-project/pull/141158
More information about the Mlir-commits
mailing list