Fix SHcompact exception handling:
authorJ"orn Rennecke <joern.rennecke@superh.com>
Wed, 6 Aug 2003 19:33:13 +0000 (19:33 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 6 Aug 2003 19:33:13 +0000 (20:33 +0100)
commitb869f90433f1efc9849bcd4ac3265985ee2b5d31
treed029cd33239bc1d98c961ba9500987ee1ed0d9e1
parentf2feed2c727298bbafa6cc6884f79aafe89326ea
Fix SHcompact exception handling:

2003-08-06  J"orn Rennecke <joern.rennecke@superh.com>

Fix SHcompact exception handling:
* sh.c (sh_get_pr_initial_val): If PR is or miight be clobbered
by the prologue, return a MEM with return_address_pointer_rtx
as address.
* sh.h (HARD_REGNO_MODE_OK): PR is OK for SImode.
(RETURN_ADDR_OFFSET): Don't define.
(SH_DBX_REGISTER_NUMBER): Use SHmedia numbers for SHmedia
registers that are visible in compact mode.  Show that SHmedia
registers still exist in compact mode, even if there are not
readily accessible.
(ASM_PREFERRED_EH_DATA_FORMAT): Supply DW_EH_PE_indirect
if GLOBAL.  Use DW_EH_PE_textrel (nominally) for CODE,
and DW_EH_PE_pcrel for pic data.
(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): If DW_EH_PE_textrel,
set SYMBOL_FLAG_FUNCTION in symbol, and actually use
DW_EH_PE_pcrel / DW_EH_PE_absptr encoding.
(ALLOCATE_INITIAL_VALUE): Put PR on stack if prologue clobbers it.
* sh.md (movsi_media-1): New splitter.

From-SVN: r70204
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md