summaryrefslogtreecommitdiffstats
path: root/src/panfrost/midgard/midgard_ra.c
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-12-06 15:28:08 -0500
committerAlyssa Rosenzweig <[email protected]>2019-12-12 11:42:07 -0500
commit8c79467a0d4d1c605bb93cbed844330f2fd4cbeb (patch)
treef71585d2c603343f38ba687ed09d8d69133dfc27 /src/panfrost/midgard/midgard_ra.c
parentd48c195acfc816105846c585ba92925a77e18870 (diff)
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 <[email protected]>
Diffstat (limited to 'src/panfrost/midgard/midgard_ra.c')
-rw-r--r--src/panfrost/midgard/midgard_ra.c6
1 files 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);
+ }
}
}