X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbelistsched.c;h=45e6c445e11d299ee0c2f5a75333a4de1cc643fb;hb=c7997cc309ae96a03d5b9084a9d565db2dda57fa;hp=55100844d634511f58f91c37e9db2c75bfd2ea05;hpb=011d0c933eda9fb0eaaa48c930bd82df86572d20;p=libfirm diff --git a/ir/be/belistsched.c b/ir/be/belistsched.c index 55100844d..45e6c445e 100644 --- a/ir/be/belistsched.c +++ b/ir/be/belistsched.c @@ -75,11 +75,17 @@ static int cmp_usage(const void *a, const void *b) } #endif +/** + * The trivial selector: + * Just assure that branches are executed last, otherwise select + * the first node ready. + */ static ir_node *trivial_select(void *block_env, pset *ready_set) { const arch_env_t *arch_env = block_env; ir_node *irn = NULL; + /* assure that branches are executed last */ for(irn = pset_first(ready_set); irn; irn = pset_next(ready_set)) { if(arch_irn_classify(arch_env, irn) != arch_irn_class_branch) { pset_break(ready_set); @@ -403,9 +409,9 @@ typedef struct _block_sched_env_t { pset *ready_set; pset *already_scheduled; ir_node *block; - firm_dbg_module_t *dbg; const list_sched_selector_t *selector; void *selector_block_env; + DEBUG_ONLY(firm_dbg_module_t *dbg;) } block_sched_env_t; /**