llvm-project/polly/test/ScheduleOptimizer
Tobias Grosser 4f6bceface Do not scale tile loops
We now generate tile loops as:

 for (int c1 = 0; c1 <= 47; c1 += 1)
   for (int c2 = 0; c2 <= 47; c2 += 1)
     for (int c3 = 0; c3 <= 31; c3 += 1)
       for (int c4 = 0; c4 <= 31; c4 += 4)
         #pragma simd
         for (int c5 = c4; c5 <= c4 + 3; c5 += 1)
           Stmt_for_body3(32 * c1 + c3, 32 * c2 + c5);

instead of

 for (int c1 = 0; c1 <= 1535; c1 += 32)
   for (int c2 = 0; c2 <= 1535; c2 += 32)
     for (int c3 = 0; c3 <= 31; c3 += 1)
       for (int c4 = 0; c4 <= 31; c4 += 4)
         #pragma simd
         for (int c5 = c4; c5 <= c4 + 3; c5 += 1)
           Stmt_for_body3(c1 + c3, c2 + c5);

Run-time performance-wise this makes little difference, but this gives a large
reduction in compile time (10-30% on 17 LNT benchmarks). Apparently the isl
AST generator is not yet very efficient in generating the latter.

llvm-svn: 233675
2015-03-31 07:52:36 +00:00
..
2012-03-16-Empty-Domain.ll ScopDetection: Only detect scops that have at least one read and one write 2015-02-19 05:31:07 +00:00
2012-04-16-Trivially-vectorizable-loops.ll Test case updates for explicit type parameter to the gep operator 2015-03-13 18:21:20 +00:00
2012-10-14-Zero-Bands.ll Update Polly tests to handle explicitly typed gep changes in LLVM 2015-02-27 19:20:19 +00:00
2013-04-11-Empty-Domain-two.ll ScopDetection: Only detect scops that have at least one read and one write 2015-02-19 05:31:07 +00:00
computeout.ll Update Polly tests to handle explicitly typed gep changes in LLVM 2015-02-27 19:20:19 +00:00
line-tiling-2.ll Do not scale tile loops 2015-03-31 07:52:36 +00:00
line-tiling.ll Do not scale tile loops 2015-03-31 07:52:36 +00:00
one-dimensional-band.ll Use schedule trees to perform post-scheduling transformations 2015-03-22 12:06:39 +00:00
prevectorization.ll Do not scale tile loops 2015-03-31 07:52:36 +00:00
rectangular-tiling.ll Do not scale tile loops 2015-03-31 07:52:36 +00:00