aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-08-05 10:45:16 +0200
committerJakub Jelinek <jakub@redhat.com>2020-08-05 10:45:16 +0200
commit9f3abfb84e2a7ca115b0550c32308b5ada3e6a46 (patch)
treebe4f586769f553085f2c3b58255f50d73bbc0979 /gcc
parent916c7a201a9a1dc94f2c056a773826a26d1daca9 (diff)
downloadgcc-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.c5
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