diff --git a/.pick_status.json b/.pick_status.json index 2d929f431a4..f79e98a7f83 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6024,7 +6024,7 @@ "description": "broadcom/compiler: move nir_lower_undef_to_zero out of optimization loop", "nominated": true, "nomination_type": 2, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "cbe24a0e9c57a1e65243a9dce1c122597b08d50f", "notes": null diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c index b77e5930921..4e1da31d6f3 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2234,7 +2234,6 @@ v3d_optimize_nir(struct v3d_compile *c, struct nir_shader *s) } NIR_PASS(progress, s, nir_opt_undef); - NIR_PASS(progress, s, nir_lower_undef_to_zero); if (c && !c->disable_loop_unrolling && s->options->max_unroll_iterations > 0) { @@ -2245,6 +2244,8 @@ v3d_optimize_nir(struct v3d_compile *c, struct nir_shader *s) } } while (progress); + NIR_PASS(progress, s, nir_lower_undef_to_zero); + /* needs to be outside of optimization loop, otherwise it fights with * opt_algebraic optimizing the conversion lowering */