[FIX] Fix ScheduleTreeOptimizer::optimizeMatMulPattern
authorRoman Gareev <gareevroman@gmail.com>
Thu, 6 Apr 2017 17:25:08 +0000 (17:25 +0000)
committerRoman Gareev <gareevroman@gmail.com>
Thu, 6 Apr 2017 17:25:08 +0000 (17:25 +0000)
Use new values of the dimensions during their permutation.

llvm-svn: 299663

polly/lib/Transform/ScheduleOptimizer.cpp

index f0a54e0..f4b082c 100644 (file)
@@ -1314,7 +1314,7 @@ __isl_give isl_schedule_node *ScheduleTreeOptimizer::optimizeMatMulPattern(
   int NewJ = MMI.j == DimOutNum - 3 ? MMI.i : MMI.j;
   int NewK = MMI.k == DimOutNum - 3 ? MMI.i : MMI.k;
   Node = permuteBandNodeDimensions(Node, NewJ, DimOutNum - 2);
-  NewK = MMI.k == DimOutNum - 2 ? MMI.j : MMI.k;
+  NewK = NewK == DimOutNum - 2 ? NewJ : NewK;
   Node = permuteBandNodeDimensions(Node, NewK, DimOutNum - 1);
   auto MicroKernelParams = getMicroKernelParams(TTI, MMI);
   auto MacroKernelParams = getMacroKernelParams(MicroKernelParams, MMI);