mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-21 15:50:50 +08:00
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:
parent
29ef89522e
commit
69a53ee8f0
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user