diff options
author | Jakub Jelinek <jakub@redhat.com> | 2021-10-27 09:22:07 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2021-10-27 09:22:07 +0200 |
commit | 2084b5f42a4432da8b0625f9c669bf690ec46468 (patch) | |
tree | b600a0ba8491e143aec0a29d2b0a761a02673917 /libjava/testsuite/libjava.compile/Case.java | |
parent | 6b0f35299bd1468ebc13b900a73b7cac6181a2aa (diff) | |
download | gcc-2084b5f42a4432da8b0625f9c669bf690ec46468.zip gcc-2084b5f42a4432da8b0625f9c669bf690ec46468.tar.gz gcc-2084b5f42a4432da8b0625f9c669bf690ec46468.tar.bz2 |
openmp: Allow non-rectangular loops with pointer iterators
This patch handles pointer iterators for non-rectangular loops. They are
more limited than integral iterators of non-rectangular loops, in particular
only var-outer, var-outer + a2, a2 + var-outer or var-outer - a2 can appear
in lb or ub where a2 is some integral loop invariant expression, so no e.g.
multiplication etc.
2021-10-27 Jakub Jelinek <jakub@redhat.com>
gcc/
* omp-expand.c (expand_omp_for_init_counts): Handle non-rectangular
iterators with pointer types.
(expand_omp_for_init_vars, extract_omp_for_update_vars): Likewise.
gcc/c-family/
* c-omp.c (c_omp_check_loop_iv_r): Don't clear 3rd bit for
POINTER_PLUS_EXPR.
(c_omp_check_nonrect_loop_iv): Handle POINTER_PLUS_EXPR.
(c_omp_check_loop_iv): Set kind even if the iterator is non-integral.
gcc/testsuite/
* c-c++-common/gomp/loop-8.c: New test.
* c-c++-common/gomp/loop-9.c: New test.
libgomp/
* testsuite/libgomp.c/loop-26.c: New test.
* testsuite/libgomp.c/loop-27.c: New test.
Diffstat (limited to 'libjava/testsuite/libjava.compile/Case.java')
0 files changed, 0 insertions, 0 deletions