Extend loop tiling utility to handle non-constant loop bounds and bounds that
authorUday Bondhugula <bondhugula@google.com>
Sat, 8 Dec 2018 01:35:49 +0000 (17:35 -0800)
committerjpienaar <jpienaar@google.com>
Fri, 29 Mar 2019 21:23:34 +0000 (14:23 -0700)
commit2d6478fa929fcbbdd3cb04cbfcefffc71d021d6b
tree0081fa428bf2c8a3cb6d28f5ff42f7eac785274a
parentdfc752e42b3e033f0e85d1b67a14bfa4ef0ab150
Extend loop tiling utility to handle non-constant loop bounds and bounds that
are a max/min of several expressions.

- Extend loop tiling to handle non-constant loop bounds and bounds that
  are a max/min of several expressions, i.e., bounds using multi-result affine
  maps

- also fix b/120630124 as a result (the IR was in an invalid state when tiled
  loop generation failed; SSA uses were created that weren't plugged into the IR).

PiperOrigin-RevId: 224604460
mlir/lib/Transforms/LoopTiling.cpp
mlir/test/Transforms/loop-tiling.mlir