From: Jason Ekstrand Date: Tue, 28 May 2019 19:40:35 +0000 (-0500) Subject: nir/copy_prop_vars: Record progress in more places X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f0e075ce6eca7bdb26d8e55cf7d4dd459199363f;p=mesa.git nir/copy_prop_vars: Record progress in more places Fixes: 96c32d7776 "nir/copy_prop_vars: handle load/store of vector..." Reviewed-by: Dave Airlie Part-of: --- diff --git a/src/compiler/nir/nir_opt_copy_prop_vars.c b/src/compiler/nir/nir_opt_copy_prop_vars.c index 77bf2c94dde..d471c89fbb6 100644 --- a/src/compiler/nir/nir_opt_copy_prop_vars.c +++ b/src/compiler/nir/nir_opt_copy_prop_vars.c @@ -868,6 +868,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state, b->cursor = nir_instr_remove(instr); nir_ssa_def *u = nir_ssa_undef(b, 1, intrin->dest.ssa.bit_size); nir_ssa_def_rewrite_uses(&intrin->dest.ssa, nir_src_for_ssa(u)); + state->progress = true; break; } } @@ -948,6 +949,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state, /* Storing to an invalid index is a no-op. */ if (vec_index >= vec_comps) { nir_instr_remove(instr); + state->progress = true; break; } } @@ -965,6 +967,7 @@ copy_prop_vars_block(struct copy_prop_var_state *state, * store is redundant so remove it. */ nir_instr_remove(instr); + state->progress = true; } else { struct value value = {0}; value_set_ssa_components(&value, intrin->src[1].ssa,