[mlir][Linalg] Add a padding option to Linalg tiling

Authored by nicolasvasilache on Jan 25 2021, 1:11 AM.


[mlir][Linalg] Add a padding option to Linalg tiling

This revision allows the base Linalg tiling pattern to optionally require padding to
a constant bounding shape.
When requested, a simple analysis is performed, similar to buffer promotion.
A temporary linalg.simple_pad op is added to model padding for the purpose of
connecting the dots. This will be replaced by a more fleshed out linalg.pad_tensor
op when it is available.
In the meantime, this temporary op serves the purpose of exhibiting the necessary
properties required from a more fleshed out pad op, to compose with transformations

Reviewed By: ftynse

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