X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedregpress.c;h=4c98e70451ff03d2c60b85051173e124c8f8fabe;hb=418806b20f02139f4506528f7d33390fadc61909;hp=5f5e659365ff7a894f9e8d6f7112b68b91c079a0;hpb=bb9f2e36362333c6635b89f5258171b06c786608;p=libfirm diff --git a/ir/be/beschedregpress.c b/ir/be/beschedregpress.c index 5f5e65936..4c98e7045 100644 --- a/ir/be/beschedregpress.c +++ b/ir/be/beschedregpress.c @@ -32,9 +32,9 @@ #include "irgwalk.h" #include "irtools.h" -#include "besched_t.h" +#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;