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 <alyssa.rosenzweig@collabora.com>
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);
+ }
}
}