aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-10-13 09:30:47 +0200
committerJakub Jelinek <jakub@redhat.com>2020-10-13 09:30:47 +0200
commit14707c896a207606f13886d3b3251e8db1f3c9c0 (patch)
treeae58e04fa9797de1ec9a35349d0df94a776554d3 /gcc/tree-vectorizer.c
parent56cb815ba22dd2ec00fee7a38f0862bc21d1c2a9 (diff)
downloadgcc-14707c896a207606f13886d3b3251e8db1f3c9c0.zip
gcc-14707c896a207606f13886d3b3251e8db1f3c9c0.tar.gz
gcc-14707c896a207606f13886d3b3251e8db1f3c9c0.tar.bz2
openmp: Improve composite triangular loop lowering and expansion
This propagates needed values from the point where number of iterations is calculated on composite loops to the places where that information is needed to use the more efficient square root discovery to compute the starting iterator values from the logical iteration number. 2020-10-13 Jakub Jelinek <jakub@redhat.com> * omp-low.c (add_taskreg_looptemp_clauses): For triangular loops with non-constant number of iterations add another 4 _looptemp_ clauses before the (optional) one for lastprivate. (lower_omp_for_lastprivate): Skip those clauses when looking for the lastprivate clause. (lower_omp_for): For triangular loops with non-constant number of iterations add another 4 _looptemp_ clauses. * omp-expand.c (expand_omp_for_init_counts): For triangular loops with non-constant number of iterations set counts[0], fd->first_inner_iterations, fd->factor and fd->adjn1 from the newly added _looptemp_ clauses. (expand_omp_for_init_vars): Initialize the newly added _looptemp_ clauses. (find_lastprivate_looptemp): New function. (expand_omp_for_static_nochunk, expand_omp_for_static_chunk, expand_omp_taskloop_for_outer): Use it instead of manually skipping _looptemp_ clauses.
Diffstat (limited to 'gcc/tree-vectorizer.c')
0 files changed, 0 insertions, 0 deletions