2003-07-16 J"orn Rennecke <joern.rennecke@superh.com> Con Bradley <con.bradley@superh.com> * sh-protos.h (sh_get_pr_initial_val): Declare. * sh.c (regno_reg_class): Make its elements type enum reg_class. (output_stack_adjust): Remove emit_fn argument. Add epilogue_p and live_regs_mask arguments. Changed all callers. (save_schedule_s): New structure. (save_schedule): New typedef. (scavenge_reg, sh5_schedule_saves, sh5_schedule_saves): New functions. (calc_live_regs): For TARGET_SHMEDIA, use leaf_function_p. In interrupts handlers, also save registers that are usually partially saved, and make sure there is at least one general purpose register saved if a target register needs saving. Add casts in comparisons to avoid warnings. (sh_media_register_for_return): return -1 for interrupt handlers. (MAX_SAVED_REGS, MAX_TEMPS): New defines. (sh_expand_prologue): Use sh5_schedule_saves. Check that any temp registers used are available. Set RTX_FRAME_RELATED_P where appropriate. Add an REG_FRAME_RELATED_EXPR for r0 + offset addressing. (sh_expand_epilogue, sh_set_return_address): Use sh5_schedule_saves. (initial_elimination_offset): Likewise. * sh.h (DWARF_CIE_DATA_ALIGNMENT): Set to -4. (LOCAL_ALIGNMENT, GENERAL_REGISTER_P): Add casts to avoid warnings. (FP_REGISTER_P): Add casts to fix broken handling of unsigned REGNO. (XD_REGISTER_P, TARGET_REGISTER_P): Likewise. (HARD_REGNO_CALL_PART_CLOBBERED): Also yield nonzero for r15, and for target registers. (RETURN_IN_MEMORY): Add parentheses to avoid warnings. (regno_reg_class): Make its elements type enum reg_class. (CONSTRAINT_LEN): Don't use isdigit. (FUNCTION_ARG_REGNO_P): Add casts to avoid warnings. (FUNCTION_ARG): Add parentheses to avoid warnings. (RETURN_ADDR_RTX): Use sh_get_pr_initial_val. (RETURN_ADDR_OFFSET): Define to -1 for TARGET_SH5. (SH_DBX_REGISTER_NUMBER): Add casts to avoid warnings. (EH_RETURN_DATA_REGNO): Use unsigned constants to avoid warnings. * sh.md (xordi3+1): Remove unused variable regno. (return_media): Check that tr0 is available before using it. Co-Authored-By: Con Bradley <con.bradley@superh.com> From-SVN: r69480
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
coff.h | Loading commit data... | |
crt1.asm | Loading commit data... | |
crti.asm | Loading commit data... | |
crtn.asm | Loading commit data... | |
elf.h | Loading commit data... | |
embed-elf.h | Loading commit data... | |
kaos-sh.h | Loading commit data... | |
lib1funcs.asm | Loading commit data... | |
libgcc-glibc.ver | Loading commit data... | |
linux.h | Loading commit data... | |
little.h | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
rtems.h | Loading commit data... | |
rtemself.h | Loading commit data... | |
sh-protos.h | Loading commit data... | |
sh.c | Loading commit data... | |
sh.h | Loading commit data... | |
sh.md | Loading commit data... | |
sh64.h | Loading commit data... | |
shmedia.h | Loading commit data... | |
sshmedia.h | Loading commit data... | |
t-be | Loading commit data... | |
t-elf | Loading commit data... | |
t-le | Loading commit data... | |
t-linux | Loading commit data... | |
t-monolib | Loading commit data... | |
t-netbsd | Loading commit data... | |
t-netbsd-sh5 | Loading commit data... | |
t-netbsd-sh5-64 | Loading commit data... | |
t-sh | Loading commit data... | |
t-sh64 | Loading commit data... | |
ushmedia.h | Loading commit data... |