- set_block_info(blk, res);
-
-
- /* Get all values living at the block start sorted by next use*/
- obstack_init(&ob);
-
- DBG((dbg, DBG_START, "Living at start of %+F:\n", blk));
- first = sched_first(blk);
- count = 0;
- sched_foreach(blk, irn) {
- if (is_Phi(irn) && arch_get_irn_reg_class(env->arch, irn, -1) == env->cls) {
- loc.irn = irn;
- loc.time = get_distance(env, first, 0, irn, 0);
- obstack_grow(&ob, &loc, sizeof(loc));
- DBG((dbg, DBG_START, " %+F:\n", irn));
- count++;
- } else
- break;
- }
-
- live_foreach(blk, li) {
- if (live_is_in(li) && arch_get_irn_reg_class(env->arch, li->irn, -1) == env->cls) {
- loc.irn = (ir_node *)li->irn;
- loc.time = get_distance(env, first, 0, li->irn, 0);
- obstack_grow(&ob, &loc, sizeof(loc));
- DBG((dbg, DBG_START, " %+F:\n", li->irn));
- count++;
- }
- }
-
- starters = obstack_finish(&ob);
- qsort(starters, count, sizeof(starters[0]), loc_compare);
-
-
- /* If we have only one predecessor, we want the start_set of blk to be the end_set of pred */
- if (get_Block_n_cfgpreds(blk) == 1 && blk != get_irg_start_block(get_irn_irg(blk))) {
- ir_node *pred_blk = get_Block_cfgpred_block(blk, 0);
- block_info_t *pred_info = get_block_info(pred_blk);