From 2f99b454849544a38f4c6f1a6affd140d64ef22b Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 5 Aug 2020 10:45:16 +0200 Subject: 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 * 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. --- gcc/omp-expand.c | 5 ----- 1 file changed, 5 deletions(-) (limited to 'gcc') 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 -- cgit v1.1