diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-12-06 15:28:08 -0500 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-12-12 11:42:07 -0500 |
commit | 8c79467a0d4d1c605bb93cbed844330f2fd4cbeb (patch) | |
tree | f71585d2c603343f38ba687ed09d8d69133dfc27 /src/panfrost/midgard/midgard_ra.c | |
parent | d48c195acfc816105846c585ba92925a77e18870 (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.c | 6 |
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); + } } } |