llvm-project/mlir/test/Dialect/Linalg
MaheshRavishankar cdf7b661c2 [mlir][Linalg] Fix incorrect logic in deciding when to fuse reshapes by linearization.
Fusion by linearization should not happen when
- The reshape is expanding and it is a consumer
- The reshape is collapsing and is a producer.

The bug introduced in this logic by some recent refactoring resulted
in a crash.
To enforce this (negetive) use case, add a test that reproduces the
error and verifies the fix.

Differential Revision: https://reviews.llvm.org/D104970
2021-07-02 11:16:21 -07:00
..
affine.mlir [mlir][SCF] NFC - Drop SCF EDSC usage 2021-05-19 15:52:14 +00:00
bufferize.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
canonicalize-duplicate-inputs.mlir [mlir][linalg] Purge linalg.indexed_generic. 2021-06-17 14:45:37 +02:00
canonicalize.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
codegen-strategy.mlir [mlir] Linalg: add tile interchange flag to test-linalg-codegen-strategy pass 2021-03-30 10:48:34 -07:00
comprehensive-module-bufferize-analysis.mlir [mlir][Linalg] Drop comprehensive-func-bufferize (12/n) 2021-07-01 11:36:24 +00:00
comprehensive-module-bufferize-invalid.mlir [mlir][Linalg] Add comprehensive bufferization support for TiledLoopOp (14/n) 2021-07-02 14:21:08 +00:00
comprehensive-module-bufferize.mlir [mlir][Linalg] Add comprehensive bufferization support for TiledLoopOp (14/n) 2021-07-02 14:21:08 +00:00
convert-elementwise-to-linalg.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
detensorize_0d.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
detensorize_if.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
detensorize_trivial.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
detensorize_while.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
detensorize_while_failure.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
detensorize_while_pure_cf.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
distribute-tiled-loop.mlir [mlir] Add a pass to distribute linalg::TiledLoopOp. 2021-05-27 08:45:20 +02:00
drop-unit-extent-dims.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
fold-affine-min-scf.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
fold-unit-trip-loops.mlir [mlir][Linalg] Revisit the Linalg on tensors abstraction 2020-12-21 12:29:10 -08:00
forward-vector-transfers.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
fusion-2-level.mlir Added static verification for Linalg Ops. 2021-03-30 07:10:17 -07:00
fusion-elementwise-options.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
fusion-indexed.mlir [mlir][linalg] Remove IndexedGenericOp support from Fusion... 2021-05-11 06:49:25 +00:00
fusion-pattern.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
fusion-push-reshape.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
fusion-sequence.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
fusion-tensor-pattern.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
fusion-tensor.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
fusion.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
generalize-named-ops.mlir Add linalg.batch_matvec named op 2021-06-30 11:37:21 -07:00
generalize-named-polymorphic-ops.mlir [mlir][linalg][python] Add min operation in OpDSL. 2021-07-02 16:27:30 +00:00
hoist-padding.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
hoisting.mlir [mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect 2021-06-22 17:55:53 +09:00
inline-scalar-operands.mlir [mlir][linalg] Add scalar operands inlining pattern 2021-05-21 15:23:28 +02:00
inlining.mlir [mlir][Linalg] Uniformize linalg.generic with named ops. 2020-09-22 04:13:22 -04:00
interchange.mlir [mlir][linalg] adding pass to run the interchange pattern. 2021-04-19 12:19:15 +00:00
invalid.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
library-calls.mlir [mlir][Linalg] Add basic lowering test to library calls 2021-06-24 10:56:48 +00:00
llvm.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
loops.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
lower-pad-tensor.mlir [mlir][linalg] Transform PadTensorOp into InitOp, FillOp, GenericOp 2021-06-03 22:09:09 +09:00
named-ops.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
parallel-loops.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
promote.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
promotion_options.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
reshape_fusion.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
reshape_linearization_fusion.mlir [mlir] Split linalg reshape ops into expand/collapse. 2021-06-03 11:40:22 +02:00
reshape_linearization_fusion_with_unit_dims.mlir [mlir][Linalg] Fix incorrect logic in deciding when to fuse reshapes by linearization. 2021-07-02 11:16:21 -07:00
resolve-shaped-type-result-dims.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
roundtrip.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
standard.mlir [mlir][linalg] Remove IndexedGenericOp support from LinalgToStandard... 2021-05-12 11:56:07 +00:00
subtensor-of-padtensor.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
tile-and-distribute.mlir [mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect 2021-06-22 17:55:53 +09:00
tile-and-fuse-tensors.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
tile-and-pad-tensors.mlir [mlir][NFC] Move SubTensorOp and SubTensorInsertOp to TensorDialect 2021-06-22 17:55:53 +09:00
tile-conv-padding.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
tile-conv.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
tile-indexed.mlir [mlir][linalg] update tiling to support linalg index operations. 2021-04-13 14:36:01 +00:00
tile-parallel-reduce.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
tile-parallel.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
tile-simple-conv.mlir [MLIR] Create memref dialect and move dialect-specific ops from std. 2021-03-15 11:14:09 +01:00
tile-tensors.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00
tile.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
tiled-loops.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
transform-patterns-matmul-to-vector.mlir [mlir][Linalg] Generalize linalg vectorization 2021-04-29 07:44:01 +00:00
transform-patterns.mlir [mlir][linalg] Change the pretty printed FillOp operand order. 2021-06-23 07:03:00 +00:00
vectorization.mlir [mlir][tensor] Add tensor.dim operation 2021-07-01 10:00:19 +09:00