Commit bb1b857a by Gavin Koch Committed by Jeff Law

* calls.c (expand_call): Implement LOAD_ARGS_REVERSED.

From-SVN: r17133
parent 02531345
......@@ -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.
......
......@@ -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;
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment