use is_$KIND(n) instead of get_irn_op(n) == op_$KIND.
[libfirm] / ir / be / beschedtrace.c
index 3c1865c..ad64552 100644 (file)
@@ -61,10 +61,7 @@ typedef struct trace_env {
  */
 static ir_node *get_nodeset_node(const ir_nodeset_t *nodeset)
 {
-       ir_nodeset_iterator_t iter;
-
-       ir_nodeset_iterator_init(&iter, nodeset);
-       return ir_nodeset_iterator_next(&iter);
+       return ir_nodeset_first(nodeset);
 }
 
 /**
@@ -269,7 +266,6 @@ static sched_timestep_t latency(trace_env_t *env, ir_node *pred, int pred_cycle,
 static int get_num_successors(ir_node *irn)
 {
        int sum = 0;
-       const ir_edge_t *edge;
 
        if (get_irn_mode(irn) == mode_T) {
                /* for mode_T nodes: count the users of all Projs */
@@ -311,7 +307,6 @@ static int get_reg_difference(trace_env_t *env, ir_node *irn)
 
        if (get_irn_mode(irn) == mode_T) {
                /* mode_T nodes: num out regs == num Projs with mode datab */
-               const ir_edge_t *edge;
                foreach_out_edge(irn, edge) {
                        ir_node *proj = get_edge_src_irn(edge);
                        if (mode_is_datab(get_irn_mode(proj)))
@@ -390,8 +385,6 @@ static void descent(ir_node *root, ir_node *block, ir_node **list, trace_env_t *
  */
 static int is_root(ir_node *root, ir_node *block)
 {
-       const ir_edge_t *edge;
-
        foreach_out_edge(root, edge) {
                ir_node *succ = get_edge_src_irn(edge);
 
@@ -414,7 +407,6 @@ static void trace_preprocess_block(trace_env_t *env, ir_node *block)
        ir_node *root = NULL, *preord = NULL;
        ir_node *curr, *irn;
        int cur_pos;
-       const ir_edge_t *edge;
 
        /* First step: Find the root set. */
        foreach_out_edge(block, edge) {
@@ -524,10 +516,10 @@ static trace_env_t *trace_init(ir_graph *irg)
 
        env->curr_time  = 0;
        env->sched_info = NEW_ARR_F(trace_irn_t, nn);
-       env->liveness   = be_liveness(irg);
+       env->liveness   = be_get_irg_liveness(irg);
        FIRM_DBG_REGISTER(env->dbg, "firm.be.sched.trace");
 
-       be_liveness_assure_chk(env->liveness);
+       be_assure_live_chk(irg);
        memset(env->sched_info, 0, nn * sizeof(*(env->sched_info)));
 
        return env;
@@ -540,7 +532,6 @@ static trace_env_t *trace_init(ir_graph *irg)
 static void trace_free(void *data)
 {
        trace_env_t *env = (trace_env_t*)data;
-       be_liveness_free(env->liveness);
        DEL_ARR_F(env->sched_info);
        free(env);
 }
@@ -550,9 +541,6 @@ static void trace_free(void *data)
  */
 static ir_node *basic_selection(ir_nodeset_t *ready_set)
 {
-       ir_node *irn = NULL;
-       ir_nodeset_iterator_t iter;
-
        /* assure that branches and constants are executed last */
        foreach_ir_nodeset(ready_set, irn, iter) {
                if (!is_cfop(irn)) {
@@ -561,9 +549,7 @@ static ir_node *basic_selection(ir_nodeset_t *ready_set)
        }
 
        /* at last: schedule branches */
-       irn = get_nodeset_node(ready_set);
-
-       return irn;
+       return get_nodeset_node(ready_set);
 }
 
 /**
@@ -573,9 +559,7 @@ static ir_node *muchnik_select(void *block_env, ir_nodeset_t *ready_set)
 {
        trace_env_t *env = (trace_env_t*)block_env;
        ir_nodeset_t mcands, ecands;
-       ir_nodeset_iterator_t iter;
        sched_timestep_t max_delay = 0;
-       ir_node *irn;
 
        /* calculate the max delay of all candidates */
        foreach_ir_nodeset(ready_set, irn, iter) {
@@ -597,6 +581,7 @@ static ir_node *muchnik_select(void *block_env, ir_nodeset_t *ready_set)
        }
 
        /* select a node */
+       ir_node *irn;
        if (ir_nodeset_size(&mcands) == 1) {
                irn = get_nodeset_node(&mcands);
                DB((env->dbg, LEVEL_3, "\tirn = %+F, mcand = 1, max_delay = %u\n", irn, max_delay));
@@ -659,11 +644,10 @@ static void sched_muchnik(ir_graph *irg)
 static ir_node *heuristic_select(void *block_env, ir_nodeset_t *ns)
 {
        trace_env_t *trace_env   = (trace_env_t*)block_env;
-       ir_node     *irn, *cand  = NULL;
+       ir_node     *cand        = NULL;
        int         max_prio     = INT_MIN;
        int         cur_prio     = INT_MIN;
        int         reg_fact;
-       ir_nodeset_iterator_t iter;
        /* Note: register pressure calculation needs an overhaul, you need correct
         * tracking for each register class indidually and weight by each class
        int         cur_pressure = ir_nodeset_size(lv); */