+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>
* tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
/* Tail calls can make things harder to debug, and we're traditionally
pushed these optimizations into -O2. Don't try if we're already
- expanding a call, as that means we're an argument. Similarly, if
- there's pending loops or cleanups we know there's code to follow
- the call.
+ expanding a call, as that means we're an argument. Don't try if
+ there's cleanups, as we know there's code to follow the call.
If rtx_equal_function_value_matters is false, that means we've
finished with regular parsing. Which means that some of the
if (currently_expanding_call++ != 0
|| !flag_optimize_sibling_calls
|| !rtx_equal_function_value_matters
- || !stmt_loop_nest_empty ()
|| any_pending_cleanups (1)
|| args_size.var)
try_tail_call = try_tail_recursion = 0;