aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2000-11-28 20:34:59 +0100
committerRichard Henderson <rth@gcc.gnu.org>2000-11-28 11:34:59 -0800
commitfb158467a90388f6abec96db67bcf2ec48688220 (patch)
tree365dfb99a39adb3aee76744a962f6eb29b522a77 /gcc/calls.c
parent8a0dd1b1a9d3f91bafb42c2a35c155b94068ef83 (diff)
downloadgcc-fb158467a90388f6abec96db67bcf2ec48688220.zip
gcc-fb158467a90388f6abec96db67bcf2ec48688220.tar.gz
gcc-fb158467a90388f6abec96db67bcf2ec48688220.tar.bz2
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
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index 14c10b0..ad79078 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2416,9 +2416,8 @@ expand_call (exp, target, ignore)
/* 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
@@ -2429,7 +2428,6 @@ expand_call (exp, target, ignore)
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;