diff options
author | Jakub Jelinek <jakub@redhat.com> | 1999-11-16 09:43:40 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1999-11-16 09:43:40 -0800 |
commit | 4dc07bd7c1dae4996da88b9d4114c954e5ace101 (patch) | |
tree | 1284fde2a9c3617cfa59b12813b42b4c31d7e35b /gcc/explow.c | |
parent | 95a7b5548cdd92fffb080078fcbef56119410ba5 (diff) | |
download | gcc-4dc07bd7c1dae4996da88b9d4114c954e5ace101.zip gcc-4dc07bd7c1dae4996da88b9d4114c954e5ace101.tar.gz gcc-4dc07bd7c1dae4996da88b9d4114c954e5ace101.tar.bz2 |
explow.c (hard_function_value): Add outgoing argument.
* explow.c (hard_function_value): Add outgoing argument.
* expr.h (hard_function_value): Declare it.
* calls.c (expand_call, emit_library_call_value): Update callers.
* function.c (aggregate_value_p): Ditto.
(diddle_return_value): Must look at the outgoing registers
on archs with register windows.
From-SVN: r30550
Diffstat (limited to 'gcc/explow.c')
-rw-r--r-- | gcc/explow.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/gcc/explow.c b/gcc/explow.c index 857bcc6..437c935 100644 --- a/gcc/explow.c +++ b/gcc/explow.c @@ -1541,14 +1541,24 @@ probe_stack_range (first, size) in which a scalar value of data type VALTYPE was returned by a function call to function FUNC. FUNC is a FUNCTION_DECL node if the precise function is known, - otherwise 0. */ + otherwise 0. + OUTGOING is 1 if on a machine with register windows this function + should return the register in which the function will put its result + and 0 otherwise. */ rtx -hard_function_value (valtype, func) +hard_function_value (valtype, func, outgoing) tree valtype; tree func ATTRIBUTE_UNUSED; + int outgoing ATTRIBUTE_UNUSED; { - rtx val = FUNCTION_VALUE (valtype, func); + rtx val; +#ifdef FUNCTION_OUTGOING_VALUE + if (outgoing) + val = FUNCTION_OUTGOING_VALUE (valtype, func); + else +#endif + val = FUNCTION_VALUE (valtype, func); if (GET_CODE (val) == REG && GET_MODE (val) == BLKmode) { |