On Mon, Aug 31, 2015 at 01:55:40PM +0200, Tom de Vries wrote: > Fix gcc_assert in expand_omp_for_static_chunk > > 2015-08-31 Tom de Vries <t...@codesourcery.com> > > PR tree-optimization/65637 > * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case > that head is NULL. > > * gcc.dg/autopar/pr46099-chunk-size.c: New test. > --- > gcc/ChangeLog | 6 +++ > gcc/omp-low.c | 2 +- > gcc/testsuite/gcc.dg/autopar/pr46099-chunk-size.c | 47 > +++++++++++++++++++++++ > 3 files changed, 54 insertions(+), 1 deletion(-) > create mode 100644 gcc/testsuite/gcc.dg/autopar/pr46099-chunk-size.c > > diff --git a/gcc/ChangeLog b/gcc/ChangeLog > index a0123b1..5a273ba 100644 > --- a/gcc/ChangeLog > +++ b/gcc/ChangeLog > @@ -1,3 +1,9 @@ > +2015-05-18 Tom de Vries <t...@codesourcery.com> > + > + PR tree-optimization/65637 > + * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case > + that head is NULL. > + > 2015-08-31 Tom de Vries <t...@codesourcery.com> > > * tree-ssa-loop-manip.c (find_uses_to_rename_use) > diff --git a/gcc/omp-low.c b/gcc/omp-low.c > index c3dfc51..4e732ae 100644 > --- a/gcc/omp-low.c > +++ b/gcc/omp-low.c > @@ -7326,7 +7326,7 @@ expand_omp_for_static_chunk (struct omp_region *region, > locus = redirect_edge_var_map_location (vm); > add_phi_arg (nphi, redirect_edge_var_map_def (vm), re, locus); > } > - gcc_assert (gsi_end_p (psi) && i == head->length ()); > + gcc_assert (gsi_end_p (psi) && (head == NULL || i == head->length ())); > redirect_edge_var_map_clear (re); > while (1) > {
Ok. > diff --git a/gcc/testsuite/gcc.dg/autopar/pr46099-chunk-size.c > b/gcc/testsuite/gcc.dg/autopar/pr46099-chunk-size.c > new file mode 100644 > index 0000000..709841a > --- /dev/null > +++ b/gcc/testsuite/gcc.dg/autopar/pr46099-chunk-size.c I'd name the testcase just pr46099-2.c. > @@ -0,0 +1,47 @@ > +/* PR tree-optimization/46099. */ > +/* { dg-do compile } */ > +/* { dg-options "-ftree-parallelize-loops=2 -fcompare-debug -O --param > parloops-chunk-size=100" } */ But more importantly, if you haven't changed anything in the testcase beyond dg-options, just #include "pr46099.c" here rather than duplicating the whole testcase. Ok with that change. Jakub