i386 soft frame pointer patch V3

Richard Henderson rth@cygnus.com
Sun Jan 23 14:43:00 GMT 2000


On Fri, Jan 21, 2000 at 03:28:38PM +0100, Jan Hubicka wrote:
> 	* i386.h (FIRST_PSEUDO_REGISTER): Set to 21.
> 	(FIXED_REGISTERS, CALL_USED_REGISTERS,
> 	 REG_ALLOC_ORDER): Add frame pointer
> 	(FRAME_POINTER_REGNUM): Set to 20
> 	(HARD_FRAME_POINTER_REGNUM): New macro.
> 	(ELIMINABLE_REGS): Eliminate ARG_POINTER and FRAME_POINTER
> 	to HARD_FRAME_POINTER.
> 	(REGNO_OK_FOR_BASE_P): Accept FRAME_POINTER_REGNUM
> 	(REG_OK_FOR_INDEX_NONSTRICT_P): Likewise.
> 	(REG_OK_FOR_BASE_NONSTRICT_P): Likewise.
> 	(HI_REGISTER_NAMES): Add "frame".
> 	(CAN_ELIMINATE): Handle FRAME_POINTER_REGNUM elimination.
> 	(debug_reg): Handle FRAME_POINTER_REGNUM.
> 	(reg_class): Add arg pointer and frame pointer to NON_Q_REGS,
> 	GENERAL_REGS and INDEX_REGS.
> 	* i386.c (SAVED_REGS_FIRST): new macro.
> 	(AT_BP): Use hard_frame_pointer_rtx instead of frame_pointer_rtx
> 	(regclass_map): Add dirflag and frame pointer; set arg pointer
> 	to NON_Q_REGS class.
> 	(ix86_decompise_address, memory_address_length): Likewise.
> 	(call_insn_operand): Handle frame_pointer_rtx.
> 	(reg_no_sp_operand): Handle frame_pointer_rtx.
> 	(ix86_can_use_return_insn_p): Likewise.
> 	(ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx.
> 	(print_operand): Fix formating.
> 	(ix86_compute_frame_size): Make static, update prototype, new
> 	parameters padding1, padding2, use ix86_nsaved_regs, use
> 	stack_alignment_needed.
> 	(ix86_initial_elimination_offset): Handle FRAME_POINTER_REGNUM
> 	to HARD_FRAME_POINTER_REGNUM conversions.
> 	(ix86_expand_prologue): Handle SAVED_REGS_FIRST prologues.
> 	(ix86_expand_epilogue): Handle SAVED_REGS_FIRST epilogues.
> 	(print_reg): Abort on FRAME_POINTER_REGNUM
> 	* i386-protos.h (ix86_compute_frame_size): Remove.
> 	(ix86_initial_elimination_offset): Declare.

Ok, but re-check the changelog entry.  There is, for instance,
no longer a change to i386-protos.h.


r~


More information about the Gcc-patches mailing list