[llvm] [mlir][Transform] Create a transform interpreter and a preloader pass (PR #68661)

Matthias Springer via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 11 08:49:52 PDT 2023


================
@@ -42,4 +42,35 @@ def InferEffectsPass : Pass<"transform-infer-effects"> {
   }];
 }
 
+def PreloadLibraryPass : Pass<"transform-preload-library"> {
+  let summary = "preload transform dialect library";
+  let description = [{
+    This pass preloads a transform library and makes it available to a subsequent
+    transform interpreter passes. The preloading occurs into the Transform
+    dialect and thus provides very limited functionality that does not scale.
+
+    Warning: Only a single such pass should exist for a given MLIR context.
+    This is a temporary solution until a resource-based solution is available.
+    TODO: use a resource blob.
+  }];
+  let options = [
+    ListOption<"transformLibraryPaths", "transform-library-paths", "std::string",
+    "Optional paths to files with modules that should be merged into the "
+    "transform module to provide the definitions of external named sequences.">
+  ];
+}
+
+def InterpreterPass : Pass<"transform-interpreter"> {
----------------
matthias-springer wrote:

Oh, `getPreloadedTransformModule` just takes the first one.

https://github.com/llvm/llvm-project/pull/68661


More information about the llvm-commits mailing list