From f0e075ce6eca7bdb26d8e55cf7d4dd459199363f Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Tue, 28 May 2019 14:40:35 -0500 Subject: [PATCH] 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: --- src/compiler/nir/nir_opt_copy_prop_vars.c | 3 +++ 1 file changed, 3 insertions(+) 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, -- 2.30.2