re PR tree-optimization/87895 (ICE in purge_dead_edges, at cfgrtl.c:3246)
authorJakub Jelinek <jakub@redhat.com>
Tue, 20 Nov 2018 20:44:38 +0000 (21:44 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 20 Nov 2018 20:44:38 +0000 (21:44 +0100)
commit260a993319bdf4ebc01298b7e802afbd3b35574a
tree4b9e2eecda347c32bfd5e0a1066da9ed4d289a5f
parent59730cc567ecdd3a550d9c005dbaa63620cc0f19
re PR tree-optimization/87895 (ICE in purge_dead_edges, at cfgrtl.c:3246)

PR tree-optimization/87895
* omp-simd-clone.c (ipa_simd_modify_function_body): When removing
or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT.
(simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that
redirects edges to EXIT to edges to incr_bb, iterate while EXIT
has any preds and always use EDGE_PRED (, 0).

* gcc.dg/gomp/pr87895-1.c: New test.
* gcc.dg/gomp/pr87895-2.c: New test.
* gcc.dg/gomp/pr87895-3.c: New test.

From-SVN: r266328
gcc/ChangeLog
gcc/omp-simd-clone.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/gomp/pr87895-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr87895-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/gomp/pr87895-3.c [new file with mode: 0644]