adapted to new callback
[libfirm] / ir / be / belistsched.c
index 6c2ff32..4875439 100644 (file)
@@ -329,8 +329,16 @@ static void add_tuple_projs(block_sched_env_t *env, ir_node *irn)
        if(is_Bad(irn))
                return;
 
+
+       /* non-proj nodes can have dependency edges to tuple nodes. */
+       foreach_out_edge_kind(irn, edge, EDGE_KIND_DEP) {
+               ir_node *out = get_edge_src_irn(edge);
+               make_ready(env, irn, out);
+       }
+
+       /* schedule the normal projs */
        foreach_out_edge(irn, edge) {
-               ir_node *out = edge->src;
+               ir_node *out = get_edge_src_irn(edge);
 
                assert(is_Proj(out) && "successor of a modeT node must be a proj");
 
@@ -479,7 +487,7 @@ void list_sched(const be_irg_t *birg, be_options_t *be_opts)
 
        int num_nodes;
        sched_env_t env;
-       mris_env_t *mris;
+       mris_env_t *mris = NULL;
        list_sched_selector_t sel;
 
        /* Select a scheduler based on backend options */