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

Reply via email to