Use linalg.view_slice in tiling and fusion
authorNicolas Vasilache <ntv@google.com>
Mon, 24 Jun 2019 16:00:06 +0000 (09:00 -0700)
committerjpienaar <jpienaar@google.com>
Mon, 24 Jun 2019 20:46:08 +0000 (13:46 -0700)
commit46b755d4056f6bab9aee9a5d1dd37217d454e172
tree00f7a2f402b61f2984e8c538eb07753629e0cacb
parent05c110adf376a78206103b56b7ff046726d76a81
Use linalg.view_slice in tiling and fusion

This CL makes use of view_slice in tiling and fusion.
Using a higher level IR element greatly simplifies the IR produced during tiling and fusion.
Lowering to LLVM is updated to first translate view_slice into a sequence of dim, range and cmpi.
This level will also be useful when lowering to affine.

PiperOrigin-RevId: 254767814
mlir/include/mlir/Linalg/IR/LinalgOps.h
mlir/include/mlir/Linalg/IR/LinalgOps.td
mlir/lib/Linalg/IR/LinalgOps.cpp
mlir/lib/Linalg/Transforms/Fusion.cpp
mlir/lib/Linalg/Transforms/Tiling.cpp
mlir/test/Linalg/roundtrip.mlir
mlir/test/Linalg/tile.mlir