aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-08-05 10:45:16 +0200
committerGiuliano Belinassi <giuliano.belinassi@usp.br>2020-08-17 15:07:38 -0300
commit2f99b454849544a38f4c6f1a6affd140d64ef22b (patch)
tree00e04193e1477c6ff943956e745bfbac8f15cd84 /gcc
parent277258ee2ddb38ad3af88076902eb8efce87cc4a (diff)
downloadgcc-2f99b454849544a38f4c6f1a6affd140d64ef22b.zip
gcc-2f99b454849544a38f4c6f1a6affd140d64ef22b.tar.gz
gcc-2f99b454849544a38f4c6f1a6affd140d64ef22b.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