On 12-06-19 09:30, Jakub Jelinek wrote:
> Hi!
> 
> While testing the second PR90811 patch with nvptx offloading, I've noticed 3
> warnings in nvptx.c.
> The first two hunks are obvious, the last warning is about unused mode_label
> variable.
> Either we can do what the patch does, or another option is throw away
> both the mode_jump and mode_label temporaries, keep the last hunk unmodified
> and
> -     *mode_jump = label_insn;
> +     if (mode == GOMP_DIM_VECTOR)
> +       vector_jump = neuter_start;
> +     else
> +       worker_jump = neuter_start;
> 

Hi Jakub,

LGTM, thanks for fixing this.

My intention with the mode_jump/mode_label temporaries was to get more
straight line code, and the patch achieves this.

Thanks,
- Tom

> 2019-06-12  Jakub Jelinek  <ja...@redhat.com>
> 
>       * config/nvptx/nvptx.c (nvptx_sese_number, nvptx_sese_pseudo): Don't
>       wrap ei variable name in the declaration in ()s.
>       (nvptx_single): Actually use mode_label variable.  Formatting fix.
> 
> --- gcc/config/nvptx/nvptx.c.jj       2019-06-11 23:21:28.068148871 +0200
> +++ gcc/config/nvptx/nvptx.c  2019-06-11 23:27:30.412633621 +0200
> @@ -3551,7 +3551,7 @@ nvptx_sese_number (int n, int p, int dir
>        size_t offset = (dir > 0 ? offsetof (edge_def, dest)
>                      : offsetof (edge_def, src));
>        edge e;
> -      edge_iterator (ei);
> +      edge_iterator ei;
>  
>        FOR_EACH_EDGE (e, ei, edges)
>       {
> @@ -3574,7 +3574,7 @@ nvptx_sese_pseudo (basic_block me, bb_se
>                  vec<edge, va_gc> *edges, size_t offset)
>  {
>    edge e;
> -  edge_iterator (ei);
> +  edge_iterator ei;
>    int hi_back = depth;
>    pseudo_node_t node_back (0, depth);
>    int hi_child = depth;
> @@ -4402,8 +4402,10 @@ nvptx_single (unsigned mask, basic_block
>        {
>       rtx_code_label *label = gen_label_rtx ();
>       rtx pred = cfun->machine->axis_predicate[mode - GOMP_DIM_WORKER];
> -     rtx_insn **mode_jump = mode == GOMP_DIM_VECTOR ? &vector_jump : 
> &worker_jump;
> -     rtx_insn **mode_label = mode == GOMP_DIM_VECTOR ? &vector_label : 
> &worker_label;
> +     rtx_insn **mode_jump
> +       = mode == GOMP_DIM_VECTOR ? &vector_jump : &worker_jump;
> +     rtx_insn **mode_label
> +       = mode == GOMP_DIM_VECTOR ? &vector_label : &worker_label;
>  
>       if (!pred)
>         {
> @@ -4437,10 +4439,7 @@ nvptx_single (unsigned mask, basic_block
>             emit_insn_after (gen_exit (), label_insn);
>         }
>  
> -     if (mode == GOMP_DIM_VECTOR)
> -       vector_label = label_insn;
> -     else
> -       worker_label = label_insn;
> +     *mode_label = label_insn;
>        }
>  
>    /* Now deal with propagating the branch condition.  */
> 
>       Jakub
> 

Reply via email to