fix mode of call-result proj
[libfirm] / ir / opt / escape_ana.c
index 29e4e0f..50bf3a9 100644 (file)
@@ -66,7 +66,7 @@ typedef struct walk_env {
 } walk_env_t;
 
 /** debug handle */
-DEBUG_ONLY(firm_dbg_module_t *dbgHandle;)
+DEBUG_ONLY(static firm_dbg_module_t *dbgHandle;)
 
 /**
  * checks whether a Raise leaves a method
@@ -393,7 +393,7 @@ static void transform_allocs(ir_graph *irg, walk_env_t *env)
 
                mem = get_Alloc_mem(alloc);
                blk = get_nodes_block(alloc);
-               turn_into_tuple(alloc, pn_Alloc_max);
+               turn_into_tuple(alloc, pn_Alloc_max+1);
                set_Tuple_pred(alloc, pn_Alloc_M, mem);
                set_Tuple_pred(alloc, pn_Alloc_X_regular, new_r_Jmp(blk));
                set_Tuple_pred(alloc, pn_Alloc_X_except, new_r_Bad(irg, mode_X));
@@ -438,7 +438,7 @@ static void transform_allocs(ir_graph *irg, walk_env_t *env)
                        sel = new_rd_simpleSel(dbg, get_nodes_block(alloc), get_irg_no_mem(irg), get_irg_frame(irg), ent);
                        mem = get_Alloc_mem(alloc);
 
-                       turn_into_tuple(alloc, pn_Alloc_max);
+                       turn_into_tuple(alloc, pn_Alloc_max+1);
                        set_Tuple_pred(alloc, pn_Alloc_M, mem);
                        set_Tuple_pred(alloc, pn_Alloc_X_regular, new_r_Jmp(blk));
                        set_Tuple_pred(alloc, pn_Alloc_X_except, new_r_Bad(irg, mode_X));
@@ -472,7 +472,6 @@ static void transform_allocs(ir_graph *irg, walk_env_t *env)
 static void transform_alloc_calls(ir_graph *irg, walk_env_t *env)
 {
        ir_node *call, *next, *mem, *blk;
-       ir_type *ftp;
 
        /* kill all dead allocs */
        for (call = env->dead_allocs; call; call = next) {
@@ -482,7 +481,7 @@ static void transform_alloc_calls(ir_graph *irg, walk_env_t *env)
 
                mem = get_Call_mem(call);
                blk = get_nodes_block(call);
-               turn_into_tuple(call, pn_Call_max);
+               turn_into_tuple(call, pn_Call_max+1);
                set_Tuple_pred(call, pn_Call_M,         mem);
                set_Tuple_pred(call, pn_Call_X_regular, new_r_Jmp(blk));
                set_Tuple_pred(call, pn_Call_X_except,  new_r_Bad(irg, mode_X));
@@ -492,7 +491,6 @@ static void transform_alloc_calls(ir_graph *irg, walk_env_t *env)
        }
 
        /* convert all non-escaped heap allocs into frame variables */
-       ftp = get_irg_frame_type(irg);
        for (call = env->found_allocs; call; call = next) {
                next = (ir_node*)get_irn_link(call);
        }