2004-07-19 Andreas Krebbel <krebbel1@de.ibm.com>
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Jul 2004 13:59:49 +0000 (13:59 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 19 Jul 2004 13:59:49 +0000 (13:59 +0000)
commit7cbfc97423790d53b57ed29d2d8c1b0056eb1bd9
tree435f548a5358ebb182c957ca154e9020320624f8
parent990af12cb29dd218b875ac07c281ec4f5d44d887
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84918 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c
gcc/config/s390/s390.h
gcc/config/s390/s390.md