radv: mark nir_opt_loop() as not idempotent

This pass misses opportunities because foreach_list_typed_safe()
might point to disconnected cf_nodes after some optimization got
applied. No fossil-db changes.

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28150>
This commit is contained in:
Daniel Schürmann
2024-03-12 16:35:44 +01:00
committed by Marge Bot
parent 2e38cc06f8
commit 4453971fbb
+1 -1
View File
@@ -148,7 +148,7 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively)
NIR_LOOP_PASS(progress, skip, shader, nir_opt_remove_phis);
NIR_LOOP_PASS(progress, skip, shader, nir_opt_dce);
bool opt_loop_progress = false;
NIR_LOOP_PASS(opt_loop_progress, skip, shader, nir_opt_loop);
NIR_LOOP_PASS_NOT_IDEMPOTENT(opt_loop_progress, skip, shader, nir_opt_loop);
if (opt_loop_progress) {
progress = true;
NIR_LOOP_PASS(progress, skip, shader, nir_copy_prop);