[all-commits] [llvm/llvm-project] 2646c3: [mlir][bufferization] Change OneShotModuleBufferiz...

Christopher Bate via All-commits all-commits at lists.llvm.org
Tue Feb 25 13:23:34 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2646c36a864aa6a62bc1280e9a8cd2bcd2695349
      https://github.com/llvm/llvm-project/commit/2646c36a864aa6a62bc1280e9a8cd2bcd2695349
  Author: Christopher Bate <cbate at nvidia.com>
  Date:   2025-02-25 (Tue, 25 Feb 2025)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir

  Log Message:
  -----------
  [mlir][bufferization] Change OneShotModuleBufferize to not analyze or bufferize nested symbol tables (#127726)

The existing OneShotModuleBufferize will analyze and bufferize
operations which are in nested symbol tables (e.g. nested
`builtin.module`, `gpu.module`, or similar operations). This
behavior is untested and likely unintentional given other
limitations of OneShotModuleBufferize (`func.call` can't call
into nested symbol tables). This change reverses the existing
behavior so that the operations considered by the analysis and
bufferization exclude any operations in nested symbol table
scopes. Users who desire to bufferize nested modules can still do
so by applying the transformation in a pass pipeline or in a
custom pass. This further enables controlling the order in which
modules are bufferized as well as allowing use of different
options for different kinds of modules.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list