re PR middle-end/29965 (OpenMP vs always throw in a loop)
authorJakub Jelinek <jakub@redhat.com>
Mon, 4 Dec 2006 10:20:51 +0000 (11:20 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 4 Dec 2006 10:20:51 +0000 (11:20 +0100)
commitd3c673c74acfcc0202b0013677ef280e76fffb72
tree8a7fb7efd8062ba4c47caab5ee275060e1dd09a5
parent94983d3065b546ec059d54421b82b3aa9b852ed7
re PR middle-end/29965 (OpenMP vs always throw in a loop)

PR middle-end/29965
* omp-low.c (determine_parallel_type): Don't try to optimize combined
parallels if region->exit or region->inner->exit is NULL.
(expand_omp_parallel): Handle NULL region->exit even if cfg is already
built.
(expand_omp_for_generic): Handle NULL region->cond and region->exit.
(expand_omp_for): Use expand_omp_for_generic if either region->cond
or region->exit is NULL.
(expand_omp_sections): Handle NULL region->cond or region->exit.
(expand_omp_synch):

* gcc.dg/gomp/pr29965-1.c: New test.
* gcc.dg/gomp/pr29965-2.c: New test.
* gcc.dg/gomp/pr29965-3.c: New test.
* gcc.dg/gomp/pr29965-4.c: New test.
* gcc.dg/gomp/pr29965-5.c: New test.
* gcc.dg/gomp/pr29965-6.c: New test.
* g++.dg/gomp/pr29965-1.C: New test.
* g++.dg/gomp/pr29965-2.C: New test.
* g++.dg/gomp/pr29965-3.C: New test.
* g++.dg/gomp/pr29965-4.C: New test.
* g++.dg/gomp/pr29965-5.C: New test.
* g++.dg/gomp/pr29965-6.C: New test.
* g++.dg/gomp/pr29965-7.C: New test.
* g++.dg/gomp/pr29965-8.C: New test.
* g++.dg/gomp/pr29965-9.C: New test.
* g++.dg/gomp/pr29965-10.C: New test.

From-SVN: r119483
19 files changed:
gcc/ChangeLog
gcc/omp-low.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/gomp/pr29965-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-10.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-5.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-6.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-7.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/gomp/pr29965-9.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-4.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-5.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr29965-6.c [new file with mode: 0644]