[all-commits] [llvm/llvm-project] 99c15e: [mlir][transform] Handle multiple library preloadi...

Ingo Müller via All-commits all-commits at lists.llvm.org
Wed Oct 25 00:52:44 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 99c15eb49ba0b607314b3bd221f0760049130d97
      https://github.com/llvm/llvm-project/commit/99c15eb49ba0b607314b3bd221f0760049130d97
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2023-10-25 (Wed, 25 Oct 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformDialect.td
    A mlir/include/mlir/Dialect/Transform/IR/Utils.h
    M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
    M mlir/lib/Dialect/Transform/IR/CMakeLists.txt
    M mlir/lib/Dialect/Transform/IR/TransformDialect.cpp
    A mlir/lib/Dialect/Transform/IR/Utils.cpp
    M mlir/lib/Dialect/Transform/Transforms/PreloadLibraryPass.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterPassBase.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/test/Dialect/Transform/preload-library.mlir
    M mlir/unittests/Dialect/Transform/Preload.cpp

  Log Message:
  -----------
  [mlir][transform] Handle multiple library preloading passes. (#69705)

This is a new attempt at #69320.

The transform dialect stores a "library module" that the preload pass
can populate. Until now, each pass registered an additional module by
simply pushing it to a vector; however, the interpreter only used the
first of them. This commit turns the registration into "loading", i.e.,
each newly added module gets merged into the existing one. This allows
the loading to be split into several passes, and using the library in
the interpreter now takes all of them into account. While this design
avoids repeated merging every time the library is accessed, it requires
that the implementation of merging modules lives in the
TransformDialect target (since it at the dialect depend on each
other).

This resolves https://github.com/llvm/llvm-project/issues/69111.




More information about the All-commits mailing list