Mesa (staging/20.1): nir/copy_prop_vars: Record progress in more places
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri May 22 23:13:03 UTC 2020
Module: Mesa
Branch: staging/20.1
Commit: 84298e0a5892b7ddcf616eb8c64f99feb562d55d
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=84298e0a5892b7ddcf616eb8c64f99feb562d55d
Author: Jason Ekstrand <jason at jlekstrand.net>
Date: Tue May 28 14:40:35 2019 -0500
nir/copy_prop_vars: Record progress in more places
Fixes: 96c32d7776 "nir/copy_prop_vars: handle load/store of vector..."
Reviewed-by: Dave Airlie <airlied at redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5170>
(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 f66270c3d25..968fbbdc392 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -13,7 +13,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,
More information about the mesa-commit
mailing list