X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedregpress.c;h=4c98e70451ff03d2c60b85051173e124c8f8fabe;hb=ce470efc35a72852c338aa15623b2a661dec1b34;hp=e86c99aeead96b07e41ed557ea77d82514c8a048;hpb=d2c1b0191844c3c23731158a153838d570dcd65a;p=libfirm diff --git a/ir/be/beschedregpress.c b/ir/be/beschedregpress.c index e86c99aee..4c98e7045 100644 --- a/ir/be/beschedregpress.c +++ b/ir/be/beschedregpress.c @@ -34,7 +34,7 @@ #include "besched.h" #include "belistsched.h" -#include "benode_t.h" +#include "benode.h" typedef struct _usage_stats_t { @@ -91,7 +91,7 @@ static inline usage_stats_t *get_or_set_usage_stats(reg_pressure_selector_env_t usage_stats_t *us = get_irn_link(irn); if(!us) { - us = obstack_alloc(&env->obst, sizeof(us[0])); + us = OALLOC(&env->obst, usage_stats_t); us->irn = irn; us->already_consumed = 0; us->max_hops = INT_MAX; @@ -188,7 +188,7 @@ static inline int must_appear_in_schedule(const list_sched_selector_t *sel, void if(sel->to_appear_in_schedule) res = sel->to_appear_in_schedule(block_env, irn); - return res >= 0 ? res : (to_appear_in_schedule(irn) || be_is_Keep(irn) || be_is_CopyKeep(irn) || be_is_RegParams(irn)); + return res >= 0 ? res : (to_appear_in_schedule(irn) || be_is_Keep(irn) || be_is_CopyKeep(irn) || be_is_Start(irn)); } static void *reg_pressure_block_init(void *graph_env, ir_node *bl) @@ -290,7 +290,7 @@ static ir_node *reg_pressure_select(void *block_env, ir_nodeset_t *ready_set, Ignore branch instructions for the time being. They should only be scheduled if there is nothing else. */ - if (!arch_irn_class_is(irn, branch)) { + if (!is_cfop(irn)) { int costs = reg_pr_costs(env, irn); if (costs <= curr_cost) { res = irn;