diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-01-23 00:00:50 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-01-23 00:00:50 +0100 |
commit | 164485b5c4f4fb74def017cf7e811c90435cc245 (patch) | |
tree | 683e8f190df39ed03429642b043ec45729ce6891 /gcc/omp-expand.c | |
parent | f5c517f03c53189f5a3381cda85219303480e090 (diff) | |
download | gcc-164485b5c4f4fb74def017cf7e811c90435cc245.zip gcc-164485b5c4f4fb74def017cf7e811c90435cc245.tar.gz gcc-164485b5c4f4fb74def017cf7e811c90435cc245.tar.bz2 |
re PR tree-optimization/83957 (ICE: Segmentation fault (in gimple_phi_arg))
PR tree-optimization/83957
* omp-expand.c (expand_omp_for_generic): Ignore virtual PHIs. Remove
semicolon after for body surrounded by braces.
* gcc.dg/autopar/pr83957.c: New test.
From-SVN: r256967
Diffstat (limited to 'gcc/omp-expand.c')
-rw-r--r-- | gcc/omp-expand.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c index 8690f86..90e0631 100644 --- a/gcc/omp-expand.c +++ b/gcc/omp-expand.c @@ -3156,6 +3156,9 @@ expand_omp_for_generic (struct omp_region *region, gphi *nphi; gphi *exit_phi = psi.phi (); + if (virtual_operand_p (gimple_phi_result (exit_phi))) + continue; + edge l2_to_l3 = find_edge (l2_bb, l3_bb); tree exit_res = PHI_ARG_DEF_FROM_EDGE (exit_phi, l2_to_l3); @@ -3178,7 +3181,7 @@ expand_omp_for_generic (struct omp_region *region, add_phi_arg (nphi, exit_res, l2_to_l0, UNKNOWN_LOCATION); add_phi_arg (inner_phi, new_res, l0_to_l1, UNKNOWN_LOCATION); - }; + } } set_immediate_dominator (CDI_DOMINATORS, l2_bb, |