X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Ftailrec.c;h=371219315e148606ef753cdaa0b1e72a95ac8bc3;hb=1a9f131ae86314af2426a62983fcea597233ae01;hp=02000c42f91d38b754d215be85c50e792ef1f6b5;hpb=ae9fd2c229cc7f4c724ce9ccc9263c16d77670fe;p=libfirm diff --git a/ir/opt/tailrec.c b/ir/opt/tailrec.c index 02000c42f..371219315 100644 --- a/ir/opt/tailrec.c +++ b/ir/opt/tailrec.c @@ -155,9 +155,6 @@ static void do_opt_tail_rec(ir_graph *irg, tr_env *env) set_irg_doms_inconsistent(irg); set_irg_extblk_inconsistent(irg); - /* we add a new loop */ - set_irg_loopinfo_inconsistent(irg); - /* calls are removed */ set_trouts_inconsistent(); @@ -231,7 +228,6 @@ static void do_opt_tail_rec(ir_graph *irg, tr_env *env) if (n_params > 0) { ir_node *calls; ir_node *args; - ir_node *args_bl; NEW_ARR_A(ir_node **, call_params, env->n_tail_calls); @@ -244,7 +240,6 @@ static void do_opt_tail_rec(ir_graph *irg, tr_env *env) /* build new Proj's and Phi's */ args = get_irg_args(irg); - args_bl = get_nodes_block(args); for (i = 0; i < n_params; ++i) { ir_mode *mode = get_type_mode(get_method_param_type(method_tp, i)); @@ -342,7 +337,7 @@ static void do_opt_tail_rec(ir_graph *irg, tr_env *env) /* create a new tuple for the return values */ tuple = new_r_Tuple(block, env->n_ress, in); - 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, jmp); set_Tuple_pred(call, pn_Call_X_except, new_r_Bad(irg, mode_X));