(INITIAL_ELIMINATION_OFFSET): Subtract
current_function_pretend_args_size from OFFSET for AP. From-SVN: r3961
This commit is contained in:
parent
2700ac936a
commit
978e895200
@ -601,7 +601,7 @@ enum reg_class { NO_REGS, GENERAL_REGS, FLOAT_REGS, ALL_REGS,
|
|||||||
|
|
||||||
/* Definitions for register eliminations.
|
/* 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
|
frame pointer register can often be eliminated in favor of the stack
|
||||||
pointer register. Secondly, the argument pointer register can always be
|
pointer register. Secondly, the argument pointer register can always be
|
||||||
eliminated; it is replaced with either the stack or frame pointer. */
|
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) \
|
{ if ((FROM) == FRAME_POINTER_REGNUM && (TO) == STACK_POINTER_REGNUM) \
|
||||||
(OFFSET) = 0; \
|
(OFFSET) = 0; \
|
||||||
else \
|
else \
|
||||||
(OFFSET) = (get_frame_size () + current_function_outgoing_args_size \
|
{ \
|
||||||
+ current_function_pretend_args_size \
|
(OFFSET) = ((get_frame_size () + current_function_outgoing_args_size \
|
||||||
+ alpha_sa_size () + 15) & ~ 15; \
|
+ 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
|
/* Define this if stack space is still allocated for a parameter passed
|
||||||
|
Loading…
Reference in New Issue
Block a user