From 8c79467a0d4d1c605bb93cbed844330f2fd4cbeb Mon Sep 17 00:00:00 2001 From: Alyssa Rosenzweig Date: Fri, 6 Dec 2019 15:28:08 -0500 Subject: [PATCH] pan/midgard: Don't use no_spill for memory spill src I'm not totally sure why this would *break* things, but it's certainly not necessary and it does break things. Somehow this gives the RA more freedom, fixing some spill issues. Signed-off-by: Alyssa Rosenzweig --- src/panfrost/midgard/midgard_ra.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c index 9749ebb9ceb..2fe406d6e7a 100644 --- a/src/panfrost/midgard/midgard_ra.c +++ b/src/panfrost/midgard/midgard_ra.c @@ -691,8 +691,10 @@ mir_choose_spill_node( if (ins->no_spill & (1 << l->spill_class)) { lcra_set_node_spill_cost(l, ins->dest, -1); - mir_foreach_src(ins, s) - lcra_set_node_spill_cost(l, ins->src[s], -1); + if (l->spill_class != REG_CLASS_WORK) { + mir_foreach_src(ins, s) + lcra_set_node_spill_cost(l, ins->src[s], -1); + } } } -- 2.30.2