[all-commits] [llvm/llvm-project] f3a8af: [mlir][sparse] best effort finalization of escapin...

Aart Bik via All-commits all-commits at lists.llvm.org
Fri Mar 15 16:43:32 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f3a8af07fa9e9dbc3bfa495b34846e3a5962cc27
      https://github.com/llvm/llvm-project/commit/f3a8af07fa9e9dbc3bfa495b34846e3a5962cc27
  Author: Aart Bik <ajcbik at google.com>
  Date:   2024-03-15 (Fri, 15 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/StageSparseOperations.cpp
    M mlir/test/Dialect/Bufferization/invalid.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_empty.mlir

  Log Message:
  -----------
  [mlir][sparse] best effort finalization of escaping empty sparse tensors (#85482)

This change lifts the restriction that purely allocated empty sparse
tensors cannot escape the method. Instead it makes a best effort to add
a finalizing operation before the escape.

This assumes that
(1) we never build sparse tensors across method boundaries
    (e.g. allocate in one, insert in other method)
(2) if we have other uses of the empty allocation in the
    same method, we assume that either that op will fail
    or will do the finalization for us.

This is best-effort, but fixes some very obvious missing cases.



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