From 8cb8c7f0f119581cb45544c4c6745fb8de7bdc48 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: (cherry picked from commit f0e075ce6eca7bdb26d8e55cf7d4dd459199363f) --- .pick_status.json | 2 +- src/compiler/nir/nir_opt_copy_prop_vars.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index c984d4813c3..129127ea59c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1201,7 +1201,7 @@ "description": "nir/copy_prop_vars: Record progress in more places", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "96c32d77763c4b561f751ca360e6539a3c5e7f4d" }, 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,