Re: [Mesa-dev] [PATCH] nir: Fix uninitialized use of 'replacement'.

2016-07-19 Thread Anuj Phogat
On Tue, Jul 19, 2016 at 12:25 PM, Kenneth Graunke  wrote:
> For intrinsics we don't care about, just skip to the next loop iteration
> and process the next instruction.  We don't want to execute the rest of
> the code.
>
> This was a bug in commit cdfc05ea6e8c87876cdbf588aa8e03d70f3da4bb.
>
> Signed-off-by: Kenneth Graunke 
> ---
>  src/compiler/nir/nir_lower_io.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
> index 71d2432..189370d 100644
> --- a/src/compiler/nir/nir_lower_io.c
> +++ b/src/compiler/nir/nir_lower_io.c
> @@ -352,41 +352,41 @@ nir_lower_io_block(nir_block *block,
>
>case nir_intrinsic_store_var:
>   replacement = lower_store(intrin, state, vertex_index, offset);
>   break;
>
>case nir_intrinsic_var_atomic_add:
>case nir_intrinsic_var_atomic_imin:
>case nir_intrinsic_var_atomic_umin:
>case nir_intrinsic_var_atomic_imax:
>case nir_intrinsic_var_atomic_umax:
>case nir_intrinsic_var_atomic_and:
>case nir_intrinsic_var_atomic_or:
>case nir_intrinsic_var_atomic_xor:
>case nir_intrinsic_var_atomic_exchange:
>case nir_intrinsic_var_atomic_comp_swap:
>   assert(vertex_index == NULL);
>   replacement = lower_atomic(intrin, state, offset);
>   break;
>
>default:
> - break;
> + continue;
>}
>
>if (nir_intrinsic_infos[intrin->intrinsic].has_dest) {
>   if (intrin->dest.is_ssa) {
>  nir_ssa_dest_init(>instr, >dest,
>intrin->dest.ssa.num_components,
>intrin->dest.ssa.bit_size, NULL);
>  nir_ssa_def_rewrite_uses(>dest.ssa,
>   
> nir_src_for_ssa(>dest.ssa));
>   } else {
>  nir_dest_copy(>dest, >dest, state->mem_ctx);
>   }
>}
>
>nir_instr_insert_before(>instr, >instr);
>nir_instr_remove(>instr);
> }
>
> return true;
>  }
> --
> 2.9.0
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reviewed-by: Anuj Phogat 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev


[Mesa-dev] [PATCH] nir: Fix uninitialized use of 'replacement'.

2016-07-19 Thread Kenneth Graunke
For intrinsics we don't care about, just skip to the next loop iteration
and process the next instruction.  We don't want to execute the rest of
the code.

This was a bug in commit cdfc05ea6e8c87876cdbf588aa8e03d70f3da4bb.

Signed-off-by: Kenneth Graunke 
---
 src/compiler/nir/nir_lower_io.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/nir/nir_lower_io.c b/src/compiler/nir/nir_lower_io.c
index 71d2432..189370d 100644
--- a/src/compiler/nir/nir_lower_io.c
+++ b/src/compiler/nir/nir_lower_io.c
@@ -352,41 +352,41 @@ nir_lower_io_block(nir_block *block,
 
   case nir_intrinsic_store_var:
  replacement = lower_store(intrin, state, vertex_index, offset);
  break;
 
   case nir_intrinsic_var_atomic_add:
   case nir_intrinsic_var_atomic_imin:
   case nir_intrinsic_var_atomic_umin:
   case nir_intrinsic_var_atomic_imax:
   case nir_intrinsic_var_atomic_umax:
   case nir_intrinsic_var_atomic_and:
   case nir_intrinsic_var_atomic_or:
   case nir_intrinsic_var_atomic_xor:
   case nir_intrinsic_var_atomic_exchange:
   case nir_intrinsic_var_atomic_comp_swap:
  assert(vertex_index == NULL);
  replacement = lower_atomic(intrin, state, offset);
  break;
 
   default:
- break;
+ continue;
   }
 
   if (nir_intrinsic_infos[intrin->intrinsic].has_dest) {
  if (intrin->dest.is_ssa) {
 nir_ssa_dest_init(>instr, >dest,
   intrin->dest.ssa.num_components,
   intrin->dest.ssa.bit_size, NULL);
 nir_ssa_def_rewrite_uses(>dest.ssa,
  nir_src_for_ssa(>dest.ssa));
  } else {
 nir_dest_copy(>dest, >dest, state->mem_ctx);
  }
   }
 
   nir_instr_insert_before(>instr, >instr);
   nir_instr_remove(>instr);
}
 
return true;
 }
-- 
2.9.0

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev