* 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 (ix86_decompose_address, memory_address_length): Likewise. (regclass_map): Add frame pointer. (call_insn_operand): Handle frame_pointer_rtx. (reg_no_sp_operand): Likewise. (ix86_decompose_address): Handle frame_pointer_rtx as stack_pointer_rtx. (print_operand, legitimize_pic_address): 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 From-SVN: r31587
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
etc | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libchill | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++ | Loading commit data... | |
texinfo | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |