llvm-project/mlir
Alex Zinenko 5988a3b7a0 [mlir] Linalg: ensure tile-and-pad always creates padding as requested
Initially, the padding transformation and the related operation were only used
to guarantee static shapes of subtensors in tiled operations. The
transformation would not insert the padding operation if the shapes were
already static, and the overall code generation would actively remove such
"noop" pads. However, this transformation can be also used to pack data into
smaller tensors and marshall them into faster memory, regardless of the size
mismatches. In context of expert-driven transformation, we should assume that,
if padding is requested, a potentially padded tensor must be always created.
Update the transformation accordingly. To do this, introduce an optional
`packing` attribute to the `pad_tensor` op that serves as an indication that
the padding is an intentional choice (as opposed to side effect of type
normalization) and should be left alone by cleanups.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D110425
2021-09-24 18:40:13 +02:00
..
cmake/modules [mlir][python] Simplify python extension loading. 2021-09-03 00:43:28 +00:00
docs [mlir] Update docs on conversion and translation to LLVM 2021-09-15 09:50:21 +02:00
examples [mlir] Add value_begin/value_end methods to DenseElementsAttr 2021-09-21 01:57:43 +00:00
include [mlir] Linalg: ensure tile-and-pad always creates padding as requested 2021-09-24 18:40:13 +02:00
lib [mlir] Linalg: ensure tile-and-pad always creates padding as requested 2021-09-24 18:40:13 +02:00
python [mlir][Linalg] Add ConvolutionOpInterface. 2021-09-20 10:41:10 -07:00
test [mlir] Linalg: ensure tile-and-pad always creates padding as requested 2021-09-24 18:40:13 +02:00
tools [mlir] Fix build on Windows on Arm 2021-09-23 09:04:28 +02:00
unittests [MLIR] PresburgerSet: support divisions in operations 2021-09-24 15:36:47 +05:30
utils Update MLIR generate-test-checks.py to add the notice from the source into the generated file 2021-09-20 23:19:40 +00:00
.clang-format
.clang-tidy NFC: .clang-tidy: Inherit configs from parents to improve maintainability 2021-06-08 08:25:59 -07:00
CMakeLists.txt [MLIR] Drop old cmake var names 2021-05-24 15:30:01 +05:30
LICENSE.TXT
README.md

README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.