diff --git a/.pick_status.json b/.pick_status.json index 09a308eb8c6..3c2b8aad5bd 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -2754,7 +2754,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 5db99c2e3f6..9bf4ec8e9b2 100644 --- a/src/broadcom/compiler/nir_to_vir.c +++ b/src/broadcom/compiler/nir_to_vir.c @@ -2243,7 +2243,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) { @@ -2254,6 +2253,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 */