intel/fs: rerun divergence analysis prior to convert_from_ssa
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Thu, 16 Nov 2023 19:24:31 +0000 (21:24 +0200)
committerEric Engestrom <eric@engestrom.ch>
Sat, 18 Nov 2023 21:18:20 +0000 (21:18 +0000)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9964
Cc: mesa-stable
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26235>
(cherry picked from commit 6dbb5f1e07b11be0cc6ac764bf1b51feaa7fa623)

.pick_status.json
src/intel/compiler/brw_nir.c

index 8a0c109a699005c3c226991a36b33161b6af1569..d53c5e1a2e0cb7b424ce7bad7613ae2772dfe735 100644 (file)
         "description": "intel/fs: rerun divergence analysis prior to convert_from_ssa",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null,
         "notes": null
index 3ef61403616c4d90aa851743e4b3ad71cf7feb08..8da98b0fbfd65c89ffe5ec6ac8a93fc55f489079 100644 (file)
@@ -1734,6 +1734,13 @@ brw_postprocess_nir(nir_shader *nir, const struct brw_compiler *compiler,
 
    nir_validate_ssa_dominance(nir, "before nir_convert_from_ssa");
 
+   /* Rerun the divergence analysis before convert_from_ssa as this pass has
+    * some assert on consistent divergence flags.
+    */
+   NIR_PASS(_, nir, nir_convert_to_lcssa, true, true);
+   NIR_PASS_V(nir, nir_divergence_analysis);
+   OPT(nir_opt_remove_phis);
+
    OPT(nir_convert_from_ssa, true);
 
    if (!is_scalar) {