diff options
author | Richard Stallman <rms@gnu.org> | 1993-03-14 02:08:37 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-03-14 02:08:37 +0000 |
commit | b1e64e0d7f3f67d2f800d65faaaf36e06979b4d1 (patch) | |
tree | 825789039c09957859f48a74903e8df890574896 /gcc | |
parent | 91a60f374f56e4dad751afb34904d66a4333e695 (diff) | |
download | gcc-b1e64e0d7f3f67d2f800d65faaaf36e06979b4d1.zip gcc-b1e64e0d7f3f67d2f800d65faaaf36e06979b4d1.tar.gz gcc-b1e64e0d7f3f67d2f800d65faaaf36e06979b4d1.tar.bz2 |
(emit_call_1): Restore inhibit_defer_pop before popping args
so that pops really do get deferred if appropriate.
From-SVN: r3730
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/calls.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index 0942c49..0b4e745 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -375,6 +375,10 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, if (is_const) CONST_CALL_P (call_insn) = 1; + /* Restore this now, so that we do defer pops for this call's args + if the context of the call as a whole permits. */ + inhibit_defer_pop = old_inhibit_defer_pop; + #ifndef ACCUMULATE_OUTGOING_ARGS /* If returning from the subroutine does not automatically pop the args, we need an instruction to pop them sooner or later. @@ -399,8 +403,6 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, adjust_stack (stack_size_rtx); } #endif - - inhibit_defer_pop = old_inhibit_defer_pop; } /* Generate all the code for a function call |