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:
matt 2000-12-29 03:39:14 +00:00
parent 87f5fc92dd
commit 2b22fba4b0
1 changed files with 10 additions and 1 deletions

View File

@ -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;