summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Transforms/LoopUnrollAndJam.cpp
diff options
context:
space:
mode:
authorUday Bondhugula <udayb@iisc.ac.in>2019-10-08 15:01:35 -0700
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-10-08 15:13:11 -0700
commit6136f33d5960a63961f2b471f82e5b7df583f8f2 (patch)
tree627db937fbc9b5629e1a0da4d76ac601ce246e56 /mlir/lib/Transforms/LoopUnrollAndJam.cpp
parentac91e673757f215325781cde4a286e96d7734fef (diff)
downloadbcm5719-llvm-6136f33d5960a63961f2b471f82e5b7df583f8f2.tar.gz
bcm5719-llvm-6136f33d5960a63961f2b471f82e5b7df583f8f2.zip
unroll and jam: fix order of jammed bodies
- bodies would earlier appear in the order (i, i+3, i+2, i+1) instead of (i, i+1, i+2, i+3) for example for factor 4. - clean up hardcoded test cases Signed-off-by: Uday Bondhugula <uday@polymagelabs.com> Closes tensorflow/mlir#170 COPYBARA_INTEGRATE_REVIEW=https://github.com/tensorflow/mlir/pull/170 from bondhugula:ujam b66b405b2b1894a03b376952e32a9d0292042665 PiperOrigin-RevId: 273613131
Diffstat (limited to 'mlir/lib/Transforms/LoopUnrollAndJam.cpp')
-rw-r--r--mlir/lib/Transforms/LoopUnrollAndJam.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/mlir/lib/Transforms/LoopUnrollAndJam.cpp b/mlir/lib/Transforms/LoopUnrollAndJam.cpp
index 559f94bedf0..2b7330f4175 100644
--- a/mlir/lib/Transforms/LoopUnrollAndJam.cpp
+++ b/mlir/lib/Transforms/LoopUnrollAndJam.cpp
@@ -209,8 +209,8 @@ LogicalResult mlir::loopUnrollJamByFactor(AffineForOp forOp,
forOp.setStep(step * unrollJamFactor);
auto *forOpIV = forOp.getInductionVar();
- // Unroll and jam (appends unrollJamFactor-1 additional copies).
- for (unsigned i = 1; i < unrollJamFactor; i++) {
+ // Unroll and jam (appends unrollJamFactor - 1 additional copies).
+ for (unsigned i = unrollJamFactor - 1; i >= 1; --i) {
// Operand map persists across all sub-blocks.
BlockAndValueMapping operandMapping;
for (auto &subBlock : subBlocks) {
OpenPOWER on IntegriCloud