m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers form all_used_regs.

m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude fixed registers form
  all_used_regs. Update call_really_used_regs.
  (CALL_REALLY_USED_REGISTERS): Define.
m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs with call_really_used_regs.

From-SVN: r88737
This commit is contained in:
Kazuhiro Inaoka 2004-10-08 08:21:38 +00:00 committed by Nick Clifton
parent 29ef89522e
commit 69a53ee8f0
3 changed files with 16 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2004-10-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Don't exclude
fixed registers form all_used_regs. Update call_really_used_regs.
(CALL_REALLY_USED_REGISTERS): Define.
* config/m32r/m32r.c (MUST_SAVE_REGISTER): Replace call_used_regs
with call_really_used_regs.
2004-10-08 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Choose gcrt1.o

View File

@ -1591,8 +1591,8 @@ static struct m32r_frame_info zero_frame_info;
The return address and frame pointer are treated separately.
Don't consider them here. */
#define MUST_SAVE_REGISTER(regno, interrupt_p) \
((regno) != RETURN_ADDR_REGNUM && (regno) != FRAME_POINTER_REGNUM \
&& (regs_ever_live[regno] && (!call_used_regs[regno] || interrupt_p)))
((regno) != RETURN_ADDR_REGNUM && (regno) != FRAME_POINTER_REGNUM \
&& (regs_ever_live[regno] && (!call_really_used_regs[regno] || interrupt_p)))
#define MUST_SAVE_FRAME_POINTER (regs_ever_live[FRAME_POINTER_REGNUM])
#define MUST_SAVE_RETURN_ADDR (regs_ever_live[RETURN_ADDR_REGNUM] || current_function_profile)

View File

@ -633,6 +633,8 @@ extern enum m32r_sdata m32r_sdata;
SUBTARGET_CALL_USED_REGISTERS \
}
#define CALL_REALLY_USED_REGISTERS CALL_USED_REGISTERS
/* Zero or more C statements that may conditionally modify two variables
`fixed_regs' and `call_used_regs' (both of type `char []') after they
have been initialized from the two preceding macros.
@ -649,7 +651,10 @@ extern enum m32r_sdata m32r_sdata;
do \
{ \
if (flag_pic) \
fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
{ \
fixed_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
call_used_regs[PIC_OFFSET_TABLE_REGNUM] = 1; \
} \
} \
while (0)
#endif