2012/1/9 Denis Chertykov <cherty...@gmail.com>: > Hi Georg. > > I have found that conversion AVR port to using hard_frame_pointer have > resolved PR 50925 . > I have tested the patch without regressions, but I'm worry about it. > Can you test it with your testsuite for regressions ? > May be you have your own special difficult tests (special for addressing) ? > > > > 2012-01-09 Richard Henderson <r...@redhat.com> > Denis Chertykov <cherty...@gmail.com> > > PR target/50925 > * config/avr/avr-protos.h (avr_hard_regno_nregs): Declare. > * config/avr/avr.c (avr_can_eliminate): Simplify. > (avr_initial_elimination_offset): Likewise. > (avr_prologue_setup_frame): Use hard_frame_pointer_rtx. > (expand_epilogue): Likewise. > (avr_legitimize_address): Gut. > (avr_legitimize_reload_address): Use hard_frame_pointer_rtx. > (avr_hard_regno_nregs): New. > (avr_hard_regno_ok): Allow only Pmode for arg and frame_pointers. > (avr_regno_mode_code_ok_for_base_b): Handle arg and frame pointers. > * config/avr/avr.h (FIXED_REGISTERS): Adjust arg pointer, > add soft frame pointer. > (CALL_USED_REGISTERS): Likewise. > (REG_CLASS_CONTENTS): Likewise. > (REGISTER_NAMES): Likewise. > (HARD_REGNO_NREGS): Use avr_hard_regno_nregs. > (HARD_FRAME_POINTER_REGNUM): New. > (FRAME_POINTER_REGNUM): Use soft frame pointer. > (ELIMINABLE_REGS): Eliminate from the soft frame pointer, > remove the HARD_FRAME_POINTER self-elimination. >
Committed . Denis.