• uweigand's avatar
    * config/s390/s390-protos.h (s390_arg_frame_offset): Remove. · 4fed3f99
    uweigand authored
    	(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
    4fed3f99
s390-protos.h 4.93 KB