X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbespillbelady.c;h=3b2755c2ea9a526544a8d7d9149ff0a9f417c798;hb=1376e7ac003f5d209b72056c62798cbb6d928de3;hp=4b3f9b717cd1d8d04c362177591210081991c158;hpb=b731214f8067006ee8c5ed026cd85f6d04592345;p=libfirm diff --git a/ir/be/bespillbelady.c b/ir/be/bespillbelady.c index 4b3f9b717..3b2755c2e 100644 --- a/ir/be/bespillbelady.c +++ b/ir/be/bespillbelady.c @@ -803,7 +803,6 @@ static void process_block(ir_node *block) new_vals = new_workset(); sched_foreach(block, irn) { - int i, arity; assert(workset_get_length(ws) <= n_regs); /* Phis are no real instr (see insert_starters()) */ @@ -817,14 +816,10 @@ static void process_block(ir_node *block) /* allocate all values _used_ by this instruction */ workset_clear(new_vals); - for (i = 0, arity = get_irn_arity(irn); i < arity; ++i) { - ir_node *in = get_irn_n(irn, i); - if (!arch_irn_consider_in_reg_alloc(cls, in)) - continue; - + be_foreach_use(irn, cls, in_req_, in, in_req, /* (note that "spilled" is irrelevant here) */ workset_insert(new_vals, in, false); - } + ); displace(new_vals, 1); /* allocate all values _defined_ by this instruction */