diff options
author | Gavin Koch <gavin@cygnus.com> | 1997-12-18 15:00:06 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-12-18 08:00:06 -0700 |
commit | bb1b857adc8b49eae4e5a7f5f46984450555dc33 (patch) | |
tree | d0896477bc96fab6e0e5807ed06a77634e8d9ca5 | |
parent | 0253134551ad49baaba9fb7ab4b6cfe3374316ba (diff) | |
download | gcc-bb1b857adc8b49eae4e5a7f5f46984450555dc33.zip gcc-bb1b857adc8b49eae4e5a7f5f46984450555dc33.tar.gz gcc-bb1b857adc8b49eae4e5a7f5f46984450555dc33.tar.bz2 |
* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.
From-SVN: r17133
-rw-r--r-- | gcc/ChangeLog | 2 | ||||
-rw-r--r-- | gcc/calls.c | 4 | ||||
-rw-r--r-- | gcc/tm.texi | 8 |
3 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25a2301..473fb5c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,8 @@ Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com> Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com> + * calls.c (expand_call): Implement LOAD_ARGS_REVERSED. + * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the frame pointer in the prologue. diff --git a/gcc/calls.c b/gcc/calls.c index 46f766b..15a3662 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -1884,7 +1884,11 @@ expand_call (exp, target, ignore) Mark all register-parms as living through the call, putting these USE insns in the CALL_INSN_FUNCTION_USAGE field. */ +#ifdef LOAD_ARGS_REVERSED + for (i = num_actuals - 1; i >= 0; i--) +#else for (i = 0; i < num_actuals; i++) +#endif { rtx reg = args[i].reg; int partial = args[i].partial; diff --git a/gcc/tm.texi b/gcc/tm.texi index 3f451d1..027a891 100644 --- a/gcc/tm.texi +++ b/gcc/tm.texi @@ -2848,6 +2848,14 @@ register in which function arguments are sometimes passed. This does the structure-value address. On many machines, no registers can be used for this purpose since all function arguments are pushed on the stack. + +@findex LOAD_ARGS_REVERSED +@item LOAD_ARGS_REVERSED +If defined, the order in which arguments are loaded into their +respective argument registers is reversed so that the last +argument is loaded first. This macro only effects arguments +passed in registers. + @end table @node Scalar Return |