mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 05:00:23 +08:00
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
This commit is contained in:
parent
f423a6a7dd
commit
54fef245c0
@ -1,3 +1,8 @@
|
||||
2000-11-28 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* calls.c (expand_call): Defer const/pure NO_DEFER_POP until
|
||||
after sibcall do_pending_stack_adjust.
|
||||
|
||||
Wed Nov 29 00:08:23 2000 J"orn Rennecke <amylaar@redhat.com>
|
||||
|
||||
* jump.c (delete_insn): Check that REG_LABEL note actually contains
|
||||
|
10
gcc/calls.c
10
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 ();
|
||||
|
Loading…
x
Reference in New Issue
Block a user