[all-commits] [llvm/llvm-project] 67e0d5: [MLIR][LinAlg] Start detensoring implementation.

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Mon Feb 22 23:28:31 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 67e0d58de4d338add132838810db70218f1064d8
      https://github.com/llvm/llvm-project/commit/67e0d58de4d338add132838810db70218f1064d8
  Author: KareemErgawy-TomTom <kareem.ergawy at gmail.com>
  Date:   2021-02-23 (Tue, 23 Feb 2021)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Passes.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    A mlir/test/Dialect/Linalg/detensorized_0d.mlir

  Log Message:
  -----------
  [MLIR][LinAlg] Start detensoring implementation.

This commit is the first baby step towards detensoring in
linalg-on-tensors.

Detensoring is the process through which a tensor value is convereted to one
or potentially more primitive value(s). During this process, operations with
such detensored operands are also converted to an equivalen form that works
on primitives.

The detensoring process is driven by linalg-on-tensor ops. In particular, a
linalg-on-tensor op is checked to see whether *all* its operands can be
detensored. If so, those operands are converted to thier primitive
counterparts and the linalg op is replaced by an equivalent op that takes
those new primitive values as operands.

This works towards handling github/google/iree#1159.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D96271




More information about the All-commits mailing list