Commit 978e8952 by Richard Kenner

(INITIAL_ELIMINATION_OFFSET): Subtract

current_function_pretend_args_size from OFFSET for AP.

From-SVN: r3961
parent 2700ac93
......@@ -601,7 +601,7 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
/* Definitions for register eliminations.
We have two registers that can be eliminated on the i386. First, the
We have two registers that can be eliminated on the Alpha. First, the
frame pointer register can often be eliminated in favor of the stack
pointer register. Secondly, the argument pointer register can always be
eliminated; it is replaced with either the stack or frame pointer. */
......@@ -630,9 +630,14 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
{ if ((FROM) == FRAME_POINTER_REGNUM && (TO) == STACK_POINTER_REGNUM) \
(OFFSET) = 0; \
else \
(OFFSET) = (get_frame_size () + current_function_outgoing_args_size \
+ current_function_pretend_args_size \
+ alpha_sa_size () + 15) & ~ 15; \
{ \
(OFFSET) = ((get_frame_size () + current_function_outgoing_args_size \
+ current_function_pretend_args_size \
+ alpha_sa_size () + 15) \
& ~ 15); \
if ((FROM) == ARG_POINTER_REGNUM) \
(OFFSET) -= current_function_pretend_args_size; \
} \
}
/* Define this if stack space is still allocated for a parameter passed
......
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