s390-protos.h (s390_return_address_offset): Prototype added.
authorAndreas Krebbel <krebbel1@de.ibm.com>
Mon, 19 Jul 2004 13:59:49 +0000 (13:59 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Mon, 19 Jul 2004 13:59:49 +0000 (13:59 +0000)
commita38e09bc2137703767c8701ba05585b83c507919
tree435f548a5358ebb182c957ca154e9020320624f8
parentadb8e07e68e65f801a4fafc491c55dfe30af66ed
s390-protos.h (s390_return_address_offset): Prototype added.

2004-07-19  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390-protos.h (s390_return_address_offset): Prototype
added.
* config/s390/s390.c (regclass_map initializer): Register 35 added to
ADDR_REGS.
(load_multiple_operation, store_multiple_operation): Removed
pointless sanity check.
(s390_decompose_address): Added check for return_address_pointer_rtx.
(s390_return_addr_rtx): Use return_address_pointer_rtx for count == 0.
(s390_return_address_offset): New function.
* config/s390/s390.h (FIRST_PSEUDO_REGISTER): Increased to 36.
(FRAME_REGNO_P): Added check for register 35.
(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
REG_ALLOC_ORDER): Appended entry for register 35.
(REG_CLASS_CONTENTS): Adjusted class masks for register 35.
(EH_RETURN_HANDLER_RTX): Use return_address_pointer_rtx.
(RETURN_ADDRESS_POINTER_REGNUM): New macro.
(ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): Return address pointer
is eliminable using stack pointer or hard frame pointer.
(REGISTER_NAMES): Added name for register 35.
* config/s390/s390.md ("load_multiple", "store_multiple"): Removed
pointless sanity check.

From-SVN: r84918
gcc/ChangeLog
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.md