On Tue, Sep 29, 2020 at 08:25:44PM +0100, Andrew Stubbs wrote:
> 2020-09-29  Andrew Stubbs  <a...@codesourcery.com>
> 
>       * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
>       and amdgcn targets.
> 
> diff --git a/libgomp/parallel.c b/libgomp/parallel.c
> index 2423f11f44a..0618056a7fe 100644
> --- a/libgomp/parallel.c
> +++ b/libgomp/parallel.c
> @@ -48,7 +48,14 @@ gomp_resolve_num_threads (unsigned specified, unsigned 
> count)
>  
>    if (specified == 1)
>      return 1;
> -  else if (thr->ts.active_level >= 1 && !icv->nest_var)
> +
> +  /* Accelerators with fixed thread counts require this to return 1 for
> +     nested parallel regions.  */
> +  if (thr->ts.active_level >= 1
> +#if !defined(__AMDGCN__) && !defined(__nvptx__)

I think the comment should go right above the #if !defined line, because
it doesn't describe what the whole if is about, just a particular detail in
it.
I think I'd prefer some macro for this, but we already have quite a few
nvptx and AMDGCN ifdefs in libgomp/*.c, so I can live with that.

So ok for trunk with the comment move.

> +      && !icv->nest_var
> +#endif
> +      )
>      return 1;
>    else if (thr->ts.active_level >= gomp_max_active_levels_var)
>      return 1;


        Jakub

Reply via email to