diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-08-05 10:45:16 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-08-05 10:45:16 +0200 |
commit | 9f3abfb84e2a7ca115b0550c32308b5ada3e6a46 (patch) | |
tree | be4f586769f553085f2c3b58255f50d73bbc0979 /gcc | |
parent | 916c7a201a9a1dc94f2c056a773826a26d1daca9 (diff) | |
download | gcc-9f3abfb84e2a7ca115b0550c32308b5ada3e6a46.zip gcc-9f3abfb84e2a7ca115b0550c32308b5ada3e6a46.tar.gz gcc-9f3abfb84e2a7ca115b0550c32308b5ada3e6a46.tar.bz2 |
openmp: Handle even some combined non-rectangular loops
The number of loops computation and logical iteration -> actual iterator values
computations can now be done separately even on composite constructs (though
for triangular loops it would still be more efficient to propagate a few values
through, will handle that incrementally).
simd and taskloop are still unhandled.
2020-08-05 Jakub Jelinek <jakub@redhat.com>
* omp-expand.c (expand_omp_for): Don't disallow combined non-rectangular
loops.
* testsuite/libgomp.c/loop-22.c: New test.
* testsuite/libgomp.c/loop-23.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/omp-expand.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c index 048aacf..ea4c77a 100644 --- a/gcc/omp-expand.c +++ b/gcc/omp-expand.c @@ -7640,11 +7640,6 @@ expand_omp_for (struct omp_region *region, gimple *inner_stmt) else if (fd.sched_kind == OMP_CLAUSE_SCHEDULE_STATIC && !fd.have_ordered) { - if (fd.non_rect - && (gimple_omp_for_combined_into_p (fd.for_stmt) - || gimple_omp_for_combined_p (fd.for_stmt))) - sorry_at (gimple_location (fd.for_stmt), - "non-rectangular OpenMP loops not supported yet"); if (fd.chunk_size == NULL) expand_omp_for_static_nochunk (region, &fd, inner_stmt); else |