- block_unused_spills_needed = spills_needed - loop_unused_spills_possible;
- if(block_unused_spills_needed > block_unused_spills_possible) {
- block_unused_spills_needed = block_unused_spills_possible;
- }
-
- spills = 0;
- /*
- * Spill/Reload unused livethroughs from the block
- */
- bitset_foreach(block_attr->livethrough_unused, i) {
- ir_node *to_spill;
- const ir_edge_t *edge;
-
- if(spills >= block_unused_spills_needed)
- break;
-
- to_spill = get_idx_irn(env->irg, i);
- foreach_block_succ(block, edge) {
- DBG((dbg, DBG_PRESSURE, "Spilling node %+F around block %+F\n", to_spill, block));
- be_add_reload_on_edge(env->senv, to_spill, edge->src, edge->pos);
- }
- spills++;
- }
- } else {
- loop_unused_spills_needed = spills_needed;