X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=inline;f=ir%2Fbe%2Fbeschedrand.c;h=394b7713f208edb72f4dd8d15ef8c1106d9208b3;hb=fef8dc3eff6468d7d65485af8e1ac9884c504e1a;hp=d7d5300d4ad8a310f7882c811e4a3b7f8387bdbc;hpb=e9237e148a4cd289c02e4800f094cd64445fd2fd;p=libfirm diff --git a/ir/be/beschedrand.c b/ir/be/beschedrand.c index d7d5300d4..394b7713f 100644 --- a/ir/be/beschedrand.c +++ b/ir/be/beschedrand.c @@ -37,8 +37,6 @@ */ static ir_node *random_select(void *block_env, ir_nodeset_t *ready_set) { - ir_nodeset_iterator_t iter; - ir_node *irn = NULL; int only_branches_left = 1; (void)block_env; @@ -50,24 +48,26 @@ static ir_node *random_select(void *block_env, ir_nodeset_t *ready_set) } } + ir_node *rand_node = NULL; if (only_branches_left) { /* at last: schedule branches */ - irn = ir_nodeset_first(ready_set); + rand_node = ir_nodeset_first(ready_set); } else { do { /* take 1 random node */ int n = rand() % ir_nodeset_size(ready_set); int i = 0; foreach_ir_nodeset(ready_set, irn, iter) { + rand_node = irn; if (i == n) { break; } ++i; } - } while (is_cfop(irn)); + } while (is_cfop(rand_node)); } - return irn; + return rand_node; } static void *random_init_graph(ir_graph *irg)