diff options
author | Richard Biener <rguenther@suse.de> | 2013-05-27 15:02:53 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-05-27 15:02:53 +0000 |
commit | a1756c0a454d49d74b7f1aaae5ad4d1166c28180 (patch) | |
tree | e93bbf8962d1f00c3af600de547d2c9397beae73 /gcc | |
parent | 9281625be0619cdf7b4798eb62a69effe306b5cc (diff) | |
download | gcc-a1756c0a454d49d74b7f1aaae5ad4d1166c28180.zip gcc-a1756c0a454d49d74b7f1aaae5ad4d1166c28180.tar.gz gcc-a1756c0a454d49d74b7f1aaae5ad4d1166c28180.tar.bz2 |
re PR middle-end/57412 (ICE: in verify_loop_structure, at cfgloop.c:1647: loop 1's latch does not have an edge to its header with -fopenmp -fipa-pure-const)
2013-05-27 Richard Biener <rguenther@suse.de>
PR middle-end/57412
* omp-low.c (expand_omp_atomic_pipeline): Use the correct latch
block for the new loop.
* gcc.dg/gomp/pr57412.c: New testcase.
From-SVN: r199359
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/omp-low.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/gomp/pr57412.c | 10 |
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7d6d31e..b94d492 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2013-05-27 Richard Biener <rguenther@suse.de> + PR middle-end/57412 + * omp-low.c (expand_omp_atomic_pipeline): Use the correct latch + block for the new loop. + +2013-05-27 Richard Biener <rguenther@suse.de> + PR tree-optimization/57343 * tree-ssa-loop-niter.c (number_of_iterations_ne_max): Do not use multiple_of_p if not TYPE_OVERFLOW_UNDEFINED. diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 2cae478..afddf37 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -5665,7 +5665,7 @@ expand_omp_atomic_pipeline (basic_block load_bb, basic_block store_bb, struct loop *loop = alloc_loop (); loop->header = loop_header; - loop->latch = loop_header; + loop->latch = store_bb; add_loop (loop, loop_header->loop_father); if (gimple_in_ssa_p (cfun)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 95330b7..da2e53c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-27 Richard Biener <rguenther@suse.de> + + PR middle-end/57412 + * gcc.dg/gomp/pr57412.c: New testcase. + 2013-05-27 Bud Davis <jmdavis@link.com> PR fortran/50405 diff --git a/gcc/testsuite/gcc.dg/gomp/pr57412.c b/gcc/testsuite/gcc.dg/gomp/pr57412.c new file mode 100644 index 0000000..246f532 --- /dev/null +++ b/gcc/testsuite/gcc.dg/gomp/pr57412.c @@ -0,0 +1,10 @@ +/* { dg-do compile } */ + +int thr; +#pragma omp threadprivate (thr) +int foo () +{ + int l; +#pragma omp parallel copyin (thr) reduction (||:l) + ; +} |