[all-commits] [llvm/llvm-project] 81ca5a: [mlir][tensor][NFC] Rename linalg.init_tensor to t...

Matthias Springer via All-commits all-commits at lists.llvm.org
Tue Oct 4 01:28:14 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 81ca5aa452400843235e058bc9c83fe71eccd593
      https://github.com/llvm/llvm-project/commit/81ca5aa452400843235e058bc9c83fe71eccd593
  Author: Matthias Springer <springerm at google.com>
  Date:   2022-10-04 (Tue, 04 Oct 2022)

  Changed paths:
    M mlir/docs/Dialects/Linalg/OpDSL.md
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/Linalg/Passes.h
    M mlir/include/mlir/Dialect/Linalg/Passes.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/HoistPadding.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Tensor/IR/TensorBase.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Tensor/Transforms/TransformUtils.h
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
    M mlir/lib/Dialect/Linalg/Transforms/FusePadOpWithLinalgProducer.cpp
    M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
    M mlir/lib/Dialect/Linalg/Transforms/InitTensorToAllocTensor.cpp
    M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/_linalg_ops_ext.py
    A mlir/python/mlir/dialects/_tensor_ops_ext.py
    M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-alloc-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/bubble-up-extract-slice-op.mlir
    M mlir/test/Dialect/Linalg/bufferize.mlir
    M mlir/test/Dialect/Linalg/canonicalize-duplicate-inputs.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/convert-elementwise-to-linalg.mlir
    M mlir/test/Dialect/Linalg/decompose-ops.mlir
    M mlir/test/Dialect/Linalg/detensorize_0d.mlir
    M mlir/test/Dialect/Linalg/detensorize_br_operands.mlir
    M mlir/test/Dialect/Linalg/detensorize_if.mlir
    M mlir/test/Dialect/Linalg/detensorize_trivial.mlir
    M mlir/test/Dialect/Linalg/detensorize_while.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_impure_cf.mlir
    M mlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
    M mlir/test/Dialect/Linalg/fusion-elementwise-options.mlir
    M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
    M mlir/test/Dialect/Linalg/generalize-pad-tensor.mlir
    M mlir/test/Dialect/Linalg/inline-scalar-operands.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/lower-pad-tensor.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    M mlir/test/Dialect/Linalg/one-shot-bufferize-analysis-init-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/pad_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_control_fusion.mlir
    M mlir/test/Dialect/Linalg/reshape_fusion.mlir
    M mlir/test/Dialect/Linalg/resolve-shaped-type-result-dims.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    M mlir/test/Dialect/Linalg/split_reduction.mlir
    M mlir/test/Dialect/Linalg/tile-and-fuse-tensors.mlir
    M mlir/test/Dialect/Linalg/tile-and-peel-tensors.mlir
    M mlir/test/Dialect/Linalg/tile-fuse-and-distribute.mlir
    M mlir/test/Dialect/Linalg/tile-scalarize-dynamic-dims.mlir
    M mlir/test/Dialect/Linalg/tile-tensors.mlir
    M mlir/test/Dialect/Linalg/transform-op-decompose.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
    M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
    M mlir/test/Dialect/Linalg/transform-op-match.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
    M mlir/test/Dialect/SparseTensor/sparse_vector_index.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/extract-slice-from-collapse-shape.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Tensor/ops.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
    M mlir/test/Integration/Dialect/SparseTensor/taco/tools/mlir_pytaco.py
    M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
    M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
    M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
    M mlir/test/python/dialects/linalg/opdsl/emit_matmul.py
    M mlir/test/python/dialects/linalg/ops.py
    M mlir/test/python/dialects/tensor.py
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][tensor][NFC] Rename linalg.init_tensor to tensor.empty

tensor.empty/linalg.init_tensor produces an uninititalized tensor that can be used as a destination operand for destination-style ops (ops that implement `DestinationStyleOpInterface`).

This change makes it possible to implement `TilingInterface` for non-destination-style ops without depending on the Linalg dialect.

RFC: https://discourse.llvm.org/t/rfc-add-tensor-from-shape-operation/65101

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




More information about the All-commits mailing list