Pick up a change from gcc-current. For those targets without call or
call_value, use call_pop and call_value_pop. (this is needed for vax)
This commit is contained in:
parent
87f5fc92dd
commit
2b22fba4b0
11
gnu/dist/toolchain/gcc/calls.c
vendored
11
gnu/dist/toolchain/gcc/calls.c
vendored
@ -405,7 +405,16 @@ emit_call_1 (funexp, fndecl, funtype, stack_size, rounded_stack_size,
|
||||
|
||||
#ifndef ACCUMULATE_OUTGOING_ARGS
|
||||
#if defined (HAVE_call_pop) && defined (HAVE_call_value_pop)
|
||||
if (HAVE_call_pop && HAVE_call_value_pop && n_popped > 0)
|
||||
/* If the target has "call" or "call_value" insns, then prefer them
|
||||
if no arguments are actually popped. If the target does not have
|
||||
"call" or "call_value" insns, then we must use the popping versions
|
||||
eve n if the call has no arguments to pop. */
|
||||
#if defined (HAVE_call) && defined (HAVE_call_value)
|
||||
if (HAVE_call && HAVE_call_value && HAVE_call_pop && HAVE_call_value_pop
|
||||
&& n_popped > 0)
|
||||
#else
|
||||
if (HAVE_call_pop && HAVE_call_value_pop)
|
||||
#endif
|
||||
{
|
||||
rtx n_pop = GEN_INT (n_popped);
|
||||
rtx pat;
|
||||
|
Loading…
Reference in New Issue
Block a user