aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-expand.c
diff options
context:
space:
mode:
authorTom de Vries <tom@codesourcery.com>2017-07-19 06:25:40 +0000
committerTom de Vries <vries@gcc.gnu.org>2017-07-19 06:25:40 +0000
commitd83cc5ccf7de9cd55a2f50c994e20e97404514dc (patch)
treed4eec4708f8568cab710dc9aa7b1767e09e31585 /gcc/omp-expand.c
parent8994b66f0db15309391031023c5edbb685bf3eb2 (diff)
downloadgcc-d83cc5ccf7de9cd55a2f50c994e20e97404514dc.zip
gcc-d83cc5ccf7de9cd55a2f50c994e20e97404514dc.tar.gz
gcc-d83cc5ccf7de9cd55a2f50c994e20e97404514dc.tar.bz2
Handle equal-argument loop exit phi in expand_omp_for_static_chunk
2017-07-18 Tom de Vries <tom@codesourcery.com> PR middle-end/81464 * omp-expand.c (expand_omp_for_static_chunk): Handle equal-argument loop exit phi. * gfortran.dg/pr81464.f90: New test. From-SVN: r250335
Diffstat (limited to 'gcc/omp-expand.c')
-rw-r--r--gcc/omp-expand.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/omp-expand.c b/gcc/omp-expand.c
index 929c530..d6755cd 100644
--- a/gcc/omp-expand.c
+++ b/gcc/omp-expand.c
@@ -4206,6 +4206,10 @@ expand_omp_for_static_chunk (struct omp_region *region,
source_location locus;
phi = psi.phi ();
+ if (operand_equal_p (gimple_phi_arg_def (phi, 0),
+ redirect_edge_var_map_def (vm), 0))
+ continue;
+
t = gimple_phi_result (phi);
gcc_assert (t == redirect_edge_var_map_result (vm));