OSDN Git Service

* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Aug 2003 00:17:35 +0000 (00:17 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 23 Aug 2003 00:17:35 +0000 (00:17 +0000)
commitdf82fb764e6049f077f12fe96bc1059f25fb1acd
tree38bcf08d7c2ad37558a5a82bec5bdd21862c3f61
parentc503dd4d7d59e700c6d94b7164e5474edd2c7679
* config/s390/s390-protos.h (s390_output_pool_entry): Declare.
* config/s390/s390.c (gen_consttable): Remove.
(s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns.
(s390_output_pool_entry): New function.
* config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI,
UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI,
UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ...
(UNSPECV_POOL_ENTRY): ... this new constant.
("consttable_qi", "consttable_hi", "consttable_si", "consttable_di",
"consttable_ti", "consttable_sf", "consttable_df"): Remove ...
("*pool_entry"): ... and replace by this new insn.
("literal_pool_31"): Do not emit anchor label if pool empty.

* config/s390/s390.c (struct machine_function): Add save_return_addr_p.
(s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p.
(s390_fixup_clobbered_return_reg): Remove.
(s390_reorg): Don't call s390_fixup_clobbered_return_reg.
(s390_return_addr_rtx): Always retrieve return address from save area
slot.  Use save_return_addr_p to force slot to be filled.
(s390_emit_prologue): Remove has_hard_reg_initial_val test.

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