[MLIR] Fix permuteLoops utility
authorUday Bondhugula <uday@polymagelabs.com>
Sat, 28 Mar 2020 18:49:09 +0000 (00:19 +0530)
committerUday Bondhugula <uday@polymagelabs.com>
Mon, 30 Mar 2020 18:08:23 +0000 (23:38 +0530)
commitf273e5c50745d8496846688e3019bc8ef68004e4
tree1e672ddd089c01961a2dd6aa0a9a1d29a4d38714
parent77ce2e21a87768370b97a027e5053b73e8f438a7
[MLIR] Fix permuteLoops utility

Rewrite mlir::permuteLoops (affine loop permutation utility) to fix
incorrect approach. Avoiding using sinkLoops entirely - use single move
approach. Add test pass.

This fixes https://bugs.llvm.org/show_bug.cgi?id=45328

Depends on D77003.

Signed-off-by: Uday Bondhugula <uday@polymagelabs.com>
Differential Revision: https://reviews.llvm.org/D77004
mlir/include/mlir/Transforms/LoopUtils.h
mlir/lib/Transforms/Utils/LoopUtils.cpp
mlir/test/Dialect/Affine/loop-permute.mlir [new file with mode: 0644]
mlir/test/lib/Dialect/Affine/CMakeLists.txt
mlir/test/lib/Dialect/Affine/TestLoopPermutation.cpp [new file with mode: 0644]
mlir/tools/mlir-opt/mlir-opt.cpp