diff options
author | Tobias Grosser <tobias@grosser.es> | 2015-03-31 07:52:36 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2015-03-31 07:52:36 +0000 |
commit | 4f6bcefacec320e5a9a7093c8ffcd7c1fc895277 (patch) | |
tree | 650d072ee379b318940fe096cb96f0b867120260 /lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp | |
parent | 545b951d3c0be04a0f1bc94075c40226f18d8a2d (diff) | |
download | llvm-4f6bcefacec320e5a9a7093c8ffcd7c1fc895277.zip llvm-4f6bcefacec320e5a9a7093c8ffcd7c1fc895277.tar.gz llvm-4f6bcefacec320e5a9a7093c8ffcd7c1fc895277.tar.bz2 |
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
Diffstat (limited to 'lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp')
0 files changed, 0 insertions, 0 deletions