if (op == op_Proj) {
ir_node *start = get_Proj_pred(pred);
- if (get_irn_op(start) == op_Start) {
+ if (is_Start(start)) {
if (get_Proj_proj(pred) == pn_Start_T_args) {
/* found Proj(ProjT(Start)) */
set_irn_link(node, data->proj_data);
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 */
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",