aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErico Nunes <[email protected]>2019-08-26 20:59:57 +0200
committerErico Nunes <[email protected]>2019-09-05 23:29:24 +0000
commitf9bf1a95ecbd24e9f02a5e67f6959ccf08eba1d1 (patch)
treedf127928ae383bc3b31fcf371d5a5a5d76c3402e
parenta5df0fa0b1d821a3d3f6f483b0c712aff3dad364 (diff)
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 <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]>
-rw-r--r--src/gallium/drivers/lima/ir/pp/regalloc.c1
1 files changed, 1 insertions, 0 deletions
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);