X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedtrace.c;h=f216ab042979ee1494b99e1803e6c81a95d95dec;hb=5d6cfd12693c34b702aab148038ebb562f2695f9;hp=ba149cc4ae8ed6c60c6cd453f6fedb3e7b67144f;hpb=d2e85e5566577520ffc0a143d55a6eb6a3770ea4;p=libfirm diff --git a/ir/be/beschedtrace.c b/ir/be/beschedtrace.c index ba149cc4a..f216ab042 100644 --- a/ir/be/beschedtrace.c +++ b/ir/be/beschedtrace.c @@ -30,9 +30,10 @@ #include "iredges_t.h" -#include "besched_t.h" +#include "besched.h" #include "belistsched.h" -#include "benode_t.h" +#include "benode.h" +#include "belive.h" /* we need a special mark */ static char _mark; @@ -428,7 +429,7 @@ static void trace_preprocess_block(trace_env_t *env, ir_node *block) { for (cur_pos = 0, curr = root; curr; curr = get_irn_link(curr), cur_pos++) { sched_timestep_t d; - if (arch_irn_class_is(curr, branch)) { + if (is_cfop(curr)) { /* assure, that branches can be executed last */ d = 0; } @@ -482,7 +483,7 @@ static void trace_node_ready(void *data, ir_node *irn, ir_node *pred) { */ static void trace_update_time(void *data, ir_node *irn) { trace_env_t *env = data; - if (is_Phi(irn) || get_irn_opcode(irn) == iro_Start) { + if (is_Phi(irn) || get_irn_opcode(irn) == beo_Start) { env->curr_time += get_irn_etime(env, irn); } else { @@ -532,7 +533,7 @@ static ir_node *basic_selection(ir_nodeset_t *ready_set) /* assure that branches and constants are executed last */ foreach_ir_nodeset(ready_set, irn, iter) { - if (!arch_irn_class_is(irn, branch)) { + if (!is_cfop(irn)) { return irn; } } @@ -584,7 +585,7 @@ static ir_node *muchnik_select(void *block_env, ir_nodeset_t *ready_set, ir_node if (cnt == 1) { irn = get_nodeset_node(&ecands); - if (arch_irn_class_is(irn, branch)) { + if (is_cfop(irn)) { /* BEWARE: don't select a JUMP if others are still possible */ goto force_mcands; } @@ -660,7 +661,7 @@ static ir_node *heuristic_select(void *block_env, ir_nodeset_t *ns, ir_nodeset_t /* priority based selection, heuristic inspired by mueller diss */ foreach_ir_nodeset(ns, irn, iter) { /* make sure that branches are scheduled last */ - if (!arch_irn_class_is(irn, branch)) { + if (!is_cfop(irn)) { int rdiff = get_irn_reg_diff(trace_env, irn); int sign = rdiff < 0; int chg = (rdiff < 0 ? -rdiff : rdiff) << PRIO_CHG_PRESS;