* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
commit4fed3f99b034309e255c9f820b40788458d2da70
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Sep 2004 21:23:29 +0000 (30 21:23 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 30 Sep 2004 21:23:29 +0000 (30 21:23 +0000)
tree81a32418ffd1c56b733fb0bb0b171fbf1dea4bed
parent772b9a4fbb783e82ff9ee2d0b67f9e33ed441f89
* config/s390/s390-protos.h (s390_arg_frame_offset): Remove.
(s390_return_address_offset): Remove.
(s390_can_eliminate): Add prototype.
(s390_initial_elimination_offset): Add prototype.
* config/s390/s390.h (CAN_ELIMINATE): Call s390_can_eliminate.
(INITIAL_ELIMINATION_OFFSET): Call s390_initial_elimination_offset.
* config/s390/s390.c (s390_arg_frame_offset): Remove.
(s390_return_address_offset): Remove.
(s390_can_eliminate, s390_initial_elimination_offset): New functions.
(struct machine_function): New member split_branches_pending_p.
(s390_mainpool_start): Allow nonexistant pool insn for empty pool.
(s390_mainpool_finish): Likewise.  Clear base_reg if pool empty.
(s390_optimize_prologue): Remove base_used argument.  Call
s390_update_frame_layout instead of s390_register_info.  Handle
prologue/epilogue insns that touch only RETURN_REGNUM.
(s390_reorg): Remove base_used.  Clear split_branches_pending_p.
(s390_register_info): Remove base_used and return_addr_used
arguments, compute special register usage inline.  Return live
register data to caller.
(s390_frame_info): Remove arguments, do not call s390_register_info.
(s390_init_frame_layout): New function.
(s390_update_frame_layout): Likewise.
(s390_emit_prologue): Call s390_update_frame_layout; some code
move to there.  Do not emit pool placeholder insn if unnecessary.

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