Commit fb158467 by Jan Hubicka Committed by Richard Henderson

calls.c (expand_call): Don't disable tail recursion based on the loop nest.

        * calls.c (expand_call): Don't disable tail recursion based
        on the loop nest.

From-SVN: r37822
parent 8a0dd1b1
2000-11-28 Jan Hubicka <jh@suse.cz>
* calls.c (expand_call): Don't disable tail recursion based
on the loop nest.
2000-11-28 Neil Booth <neilb@earthling.net> 2000-11-28 Neil Booth <neilb@earthling.net>
* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT. * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
......
...@@ -2416,9 +2416,8 @@ expand_call (exp, target, ignore) ...@@ -2416,9 +2416,8 @@ expand_call (exp, target, ignore)
/* Tail calls can make things harder to debug, and we're traditionally /* Tail calls can make things harder to debug, and we're traditionally
pushed these optimizations into -O2. Don't try if we're already pushed these optimizations into -O2. Don't try if we're already
expanding a call, as that means we're an argument. Similarly, if expanding a call, as that means we're an argument. Don't try if
there's pending loops or cleanups we know there's code to follow there's cleanups, as we know there's code to follow the call.
the call.
If rtx_equal_function_value_matters is false, that means we've If rtx_equal_function_value_matters is false, that means we've
finished with regular parsing. Which means that some of the finished with regular parsing. Which means that some of the
...@@ -2429,7 +2428,6 @@ expand_call (exp, target, ignore) ...@@ -2429,7 +2428,6 @@ expand_call (exp, target, ignore)
if (currently_expanding_call++ != 0 if (currently_expanding_call++ != 0
|| !flag_optimize_sibling_calls || !flag_optimize_sibling_calls
|| !rtx_equal_function_value_matters || !rtx_equal_function_value_matters
|| !stmt_loop_nest_empty ()
|| any_pending_cleanups (1) || any_pending_cleanups (1)
|| args_size.var) || args_size.var)
try_tail_call = try_tail_recursion = 0; try_tail_call = try_tail_recursion = 0;
......
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