X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Ftailrec.c;h=39e54aa3d338e0d4643fa12739d25d61db4837a1;hb=b7b24e372a1338ecd5eb26bdd285a8cbe7b1fec9;hp=e1b5223271c0525f4813fbc4849b98702b7e61d2;hpb=ce6161a7e42a48f7422b7babcc64d8ace18e2687;p=libfirm diff --git a/ir/opt/tailrec.c b/ir/opt/tailrec.c index e1b522327..39e54aa3d 100644 --- a/ir/opt/tailrec.c +++ b/ir/opt/tailrec.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -347,7 +347,6 @@ static void do_opt_tail_rec(ir_graph *irg, tr_env *env) set_Tuple_pred(call, pn_Call_X_regular, jmp); set_Tuple_pred(call, pn_Call_X_except, bad); set_Tuple_pred(call, pn_Call_T_result, tuple); - set_Tuple_pred(call, pn_Call_P_value_res_base, bad); for (i = 0; i < env->n_ress; ++i) { ir_node *res = get_Return_res(p, i); @@ -717,14 +716,13 @@ ir_graph_pass_t *opt_tail_rec_irg_pass(const char *name) */ void opt_tail_recursion(void) { - int i; - int n_opt_applications = 0; - ir_graph *irg; + size_t i, n; + size_t n_opt_applications = 0; FIRM_DBG_REGISTER(dbg, "firm.opt.tailrec"); - for (i = get_irp_n_irgs() - 1; i >= 0; --i) { - irg = get_irp_irg(i); + for (i = 0, n = get_irp_n_irgs(); i < n; ++i) { + ir_graph *irg = get_irp_irg(i); ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK); if (opt_tail_rec_irg(irg)) @@ -733,7 +731,7 @@ void opt_tail_recursion(void) ir_free_resources(irg, IR_RESOURCE_IRN_LINK); } - DB((dbg, LEVEL_1, "Performed tail recursion for %d of %d graphs\n", + DB((dbg, LEVEL_1, "Performed tail recursion for %zu of %zu graphs\n", n_opt_applications, get_irp_n_irgs())); }