aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c23
1 files changed, 1 insertions, 22 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index c48fd82..d83b419 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -2232,15 +2232,11 @@ expand_call (tree exp, rtx target, int ignore)
finished with regular parsing. Which means that some of the
machinery we use to generate tail-calls is no longer in place.
This is most often true of sjlj-exceptions, which we couldn't
- tail-call to anyway.
+ tail-call to anyway. */
- If current_nesting_level () == 0, we're being called after
- the function body has been expanded. This can happen when
- setting up trampolines in expand_function_end. */
if (currently_expanding_call++ != 0
|| !flag_optimize_sibling_calls
|| !rtx_equal_function_value_matters
- || current_nesting_level () == 0
|| args_size.var
|| lookup_stmt_eh_region (exp) >= 0)
try_tail_call = 0;
@@ -2372,15 +2368,6 @@ expand_call (tree exp, rtx target, int ignore)
sibcall_failure instead of continuing the loop. */
start_sequence ();
- if (pass == 0)
- {
- /* We know at this point that there are not currently any
- pending cleanups. If, however, in the process of evaluating
- the arguments we were to create some, we'll need to be
- able to get rid of them. */
- expand_start_target_temps ();
- }
-
/* Don't let pending stack adjusts add up to too much.
Also, do all pending adjustments now if there is any chance
this might be a call to alloca or if we are expanding a sibling
@@ -3093,14 +3080,6 @@ expand_call (tree exp, rtx target, int ignore)
if (args[i].aligned_regs)
free (args[i].aligned_regs);
- if (pass == 0)
- {
- /* Undo the fake expand_start_target_temps we did earlier. If
- there had been any cleanups created, we've already set
- sibcall_failure. */
- expand_end_target_temps ();
- }
-
/* If this function is returning into a memory location marked as
readonly, it means it is initializing that location. We normally treat
functions as not clobbering such locations, so we need to specify that