Commit 4b5b9613 by Richard Henderson Committed by Richard Henderson

re PR tree-optimization/15108 ([tree-ssa] [regression] missed sib-calling for pointer changes)

        PR opt/15108
        * tree-tailcall.c (find_tail_calls): Don't check early for
        tail_recursion failure.

From-SVN: r82866
parent 313679b0
2004-06-09 Richard Henderson <rth@redhat.com>
PR opt/15108
* tree-tailcall.c (find_tail_calls): Don't check early for
tail_recursion failure.
2004-06-09 Diego Novillo <dnovillo@redhat.com>
Move SSA_NAME annotations into tree_ssa_name.
......
......@@ -460,11 +460,6 @@ find_tail_calls (basic_block bb, struct tailcall **ret)
if (TREE_CODE (stmt) != MODIFY_EXPR)
return;
/* Unless this is a tail recursive call, we cannot do anything with
the statement anyway. */
if (!tail_recursion)
return;
if (!process_assignment (stmt, stmt, bsi, &m, &a, &ass_var))
return;
}
......@@ -491,6 +486,11 @@ find_tail_calls (basic_block bb, struct tailcall **ret)
&& (ret_var != ass_var))
return;
/* If this is not a tail recursive call, we cannot handle addends or
multiplicands. */
if (!tail_recursion && (m || a))
return;
nw = xmalloc (sizeof (struct tailcall));
nw->call_block = bb;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment