diff options
author | Tobias Grosser <tobias@grosser.es> | 2014-11-16 14:24:53 +0000 |
---|---|---|
committer | Tobias Grosser <tobias@grosser.es> | 2014-11-16 14:24:53 +0000 |
commit | bf34f1d2b25f1c9a5e0904bdd8145e730268a498 (patch) | |
tree | 84599bf52438d4a1159c853d6863b8d19352fb24 /llvm/lib/Analysis/DependenceAnalysis.cpp | |
parent | 670bdb5a64291362d585bb4e744a48094f7d4695 (diff) | |
download | bcm5719-llvm-bf34f1d2b25f1c9a5e0904bdd8145e730268a498.tar.gz bcm5719-llvm-bf34f1d2b25f1c9a5e0904bdd8145e730268a498.zip |
Introduce minimalistic cost model for auto parallelization
Instead of parallelizing every parallel outermost loop, we now use a very
minimalistic cost model. Specifically, we assume innermost loops are not
worth parallelising and all non-innermost loops are.
When parallelizing all loops in LNT we got several slowdowns/timeouts due to
us parallelizing innermost loops that are executed only a couple of times
(number of iterations not known statically). With this basic heuristic enabled
LNT does not show any more timeouts, while several interesting loops are still
parallelized.
There are many ways to obtain an improved heuristic. Constructing such an
improvide heuristic from a position of minimal slow-down and zero code size
increase seems to be the best, as it allows us to track progress on LNT.
llvm-svn: 222096
Diffstat (limited to 'llvm/lib/Analysis/DependenceAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions