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:21:12 UTC 2020


Module: Mesa
Branch: staging/20.1
Commit: 74df17a3d6cee66f53bbb0e327e7598fc4cb4352
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=74df17a3d6cee66f53bbb0e327e7598fc4cb4352

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 6d39f25ed91..5d896744424 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -22,7 +22,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