forked from OSchip/llvm-project
4f6bceface
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 |
||
---|---|---|
.. | ||
2012-03-16-Empty-Domain.ll | ||
2012-04-16-Trivially-vectorizable-loops.ll | ||
2012-10-14-Zero-Bands.ll | ||
2013-04-11-Empty-Domain-two.ll | ||
computeout.ll | ||
line-tiling-2.ll | ||
line-tiling.ll | ||
one-dimensional-band.ll | ||
prevectorization.ll | ||
rectangular-tiling.ll |