[all-commits] [llvm/llvm-project] 93fd30: [mlir][Linalg] Evolve named ops to use assembly fo...
Nicolas Vasilache via All-commits
all-commits at lists.llvm.org
Fri Sep 18 03:17:50 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 93fd30bac3345fea4f5beba3241f1ef4f2f5f419
https://github.com/llvm/llvm-project/commit/93fd30bac3345fea4f5beba3241f1ef4f2f5f419
Author: Nicolas Vasilache <ntv at google.com>
Date: 2020-09-18 (Fri, 18 Sep 2020)
Changed paths:
M mlir/docs/Dialects/Linalg.md
M mlir/docs/OpDefinitions.md
M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOpsInterface.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
M mlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
M mlir/include/mlir/IR/OpBase.td
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-ncw-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-1d-nwc-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nchw-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-2d-nhwc-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ncdhw-call.mlir
M mlir/integration_test/Dialect/Linalg/CPU/test-conv-3d-ndhwc-call.mlir
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgTypes.cpp
M mlir/test/Conversion/LinalgToVector/linalg-to-vector.mlir
M mlir/test/Dialect/Linalg/affine.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/fold-affine-min-scf.mlir
M mlir/test/Dialect/Linalg/fusion-2-level.mlir
M mlir/test/Dialect/Linalg/fusion.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/loops.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/Linalg/promotion_options.mlir
M mlir/test/Dialect/Linalg/roundtrip.mlir
M mlir/test/Dialect/Linalg/standard.mlir
M mlir/test/Dialect/Linalg/tile-and-distribute.mlir
M mlir/test/Dialect/Linalg/tile.mlir
M mlir/test/Dialect/Linalg/tile_parallel_reduce.mlir
M mlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir
M mlir/test/Dialect/Linalg/transform-patterns.mlir
M mlir/test/IR/slice.mlir
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/mlir-cpu-runner/linalg_integration_test.mlir
M mlir/test/mlir-linalg-ods-gen/test-linalg-ods-gen.tc
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.mlir
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][Linalg] Evolve named ops to use assembly form and support linalg on tensors.
This revision allows representing a reduction at the level of linalg on tensors for named ops. When a structured op has a reduction and returns tensor(s), new conventions are added and documented.
As an illustration, the syntax for a `linalg.matmul` writing into a buffer is:
```
linalg.matmul ins(%a, %b : memref<?x?xf32>, tensor<?x?xf32>)
outs(%c : memref<?x?xf32>)
```
, whereas the syntax for a `linalg.matmul` returning a new tensor is:
```
%d = linalg.matmul ins(%a, %b : tensor<?x?xf32>, memref<?x?xf32>)
init(%c : memref<?x?xf32>)
-> tensor<?x?xf32>
```
Other parts of linalg will be extended accordingly to allow mixed buffer/tensor semantics in the presence of reductions.
More information about the All-commits
mailing list