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;

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