Mesa (master): lima/ppir: mark regalloc created ssa unspillable

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Sep 5 23:44:09 UTC 2019


Module: Mesa
Branch: master
Commit: f9bf1a95ecbd24e9f02a5e67f6959ccf08eba1d1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9bf1a95ecbd24e9f02a5e67f6959ccf08eba1d1

Author: Erico Nunes <nunes.erico at gmail.com>
Date:   Mon Aug 26 20:59:57 2019 +0200

lima/ppir: mark regalloc created ssa unspillable

One ssa created in the spillinc code in ppir_update_spilled_src was not
properly being marked 'spilled', which made it a candidate for future
spilling attempts.
Since it was being inserted by the spilling code itself, let's mark it
unspillable to avoid an infinite spilling loop.

Signed-off-by: Erico Nunes <nunes.erico at gmail.com>
Reviewed-by: Vasily Khoruzhick <anarsoul at gmail.com>

---

 src/gallium/drivers/lima/ir/pp/regalloc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/lima/ir/pp/regalloc.c b/src/gallium/drivers/lima/ir/pp/regalloc.c
index dcefa1e6480..f6740c0ebb0 100644
--- a/src/gallium/drivers/lima/ir/pp/regalloc.c
+++ b/src/gallium/drivers/lima/ir/pp/regalloc.c
@@ -298,6 +298,7 @@ static ppir_alu_node* ppir_update_spilled_src(ppir_compiler *comp,
    alu_dest->ssa.num_components = 4;
    alu_dest->ssa.live_in = INT_MAX;
    alu_dest->ssa.live_out = 0;
+   alu_dest->ssa.spilled = true;
    alu_dest->write_mask = 0xf;
 
    list_addtail(&alu_dest->ssa.list, &comp->reg_list);




More information about the mesa-commit mailing list