X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Ftailrec.c;h=681a3f8b63dea42ea1c1f67ed9f27f3a896df002;hb=adefa68ae15e598e7c3e60cdf51dbf1d8b57b172;hp=11e9088dd317d158ce85d903760390a895d9a5e0;hpb=bcff0e339ce354349bf40a2cc47fe250d0ca1f6e;p=libfirm diff --git a/ir/opt/tailrec.c b/ir/opt/tailrec.c index 11e9088dd..681a3f8b6 100644 --- a/ir/opt/tailrec.c +++ b/ir/opt/tailrec.c @@ -489,7 +489,7 @@ static tail_rec_variants find_variant(ir_node *irn, ir_node *call) { return TR_BAD; case iro_Sub: - /* try additive, but return value mut be left */ + /* try additive, but return value must be left */ a = get_Sub_left(irn); if (get_irn_MacroBlock(a) != get_irn_MacroBlock(call)) { /* we are outside, ignore */ @@ -719,8 +719,11 @@ void opt_tail_recursion(void) { current_ir_graph = irg; + ir_reserve_resources(irg, IR_RESOURCE_IRN_LINK); if (opt_tail_rec_irg(irg)) ++n_opt_applications; + + ir_free_resources(irg, IR_RESOURCE_IRN_LINK); } DB((dbg, LEVEL_1, "Performed tail recursion for %d of %d graphs\n",