freedreno/ir3: add Sethi–Ullman numbering pass
[mesa.git] / src / freedreno / ir3 / ir3_compiler_nir.c
index e6fe45daa12cf1acd40477b860b481a83494ff57..1e3fbeb3117d64075d33d941a6fb7b48c3e26e24 100644 (file)
@@ -2610,6 +2610,9 @@ ir3_compile_shader_nir(struct ir3_compiler *compiler,
                ir3_print(ir);
        }
 
+       /* do Sethi–Ullman numbering before scheduling: */
+       ir3_sun(ir);
+
        ret = ir3_sched(ir);
        if (ret) {
                DBG("SCHED failed!");
@@ -2708,6 +2711,8 @@ ir3_compile_shader_nir(struct ir3_compiler *compiler,
        else
                so->total_in = max_bary + 1;
 
+       so->max_sun = ir->max_sun;
+
 out:
        if (ret) {
                if (so->ir)