diff options
author | Richard Henderson <rth@redhat.com> | 2000-11-28 16:27:54 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-11-28 16:27:54 -0800 |
commit | 54fef245c04e79351cf5aad5608a4bc2a5d5bf25 (patch) | |
tree | 6df51adb0c924d773dcd2be93d9b25211ea55d8c /gcc/calls.c | |
parent | f423a6a7dd5bf70b31f5618c08205975cb36a0f1 (diff) | |
download | gcc-54fef245c04e79351cf5aad5608a4bc2a5d5bf25.zip gcc-54fef245c04e79351cf5aad5608a4bc2a5d5bf25.tar.gz gcc-54fef245c04e79351cf5aad5608a4bc2a5d5bf25.tar.bz2 |
calls.c (expand_call): Defer const/pure NO_DEFER_POP until after sibcall do_pending_stack_adjust.
* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
after sibcall do_pending_stack_adjust.
From-SVN: r37836
Diffstat (limited to 'gcc/calls.c')
-rw-r--r-- | gcc/calls.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index ad79078..45210c2 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -2657,11 +2657,6 @@ expand_call (exp, target, ignore) expand_start_target_temps (); } - /* When calling a const function, we must pop the stack args right away, - so that the pop is deleted or moved with the call. */ - if (flags & (ECF_CONST | ECF_PURE)) - NO_DEFER_POP; - /* 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 @@ -2671,6 +2666,11 @@ expand_call (exp, target, ignore) || pass == 0) do_pending_stack_adjust (); + /* When calling a const function, we must pop the stack args right away, + so that the pop is deleted or moved with the call. */ + if (flags & (ECF_CONST | ECF_PURE)) + NO_DEFER_POP; + /* Push the temporary stack slot level so that we can free any temporaries we make. */ push_temp_slots (); |