From 4e15cee6c747d8f4fec5081b0eaff5af0e773dc5 Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Thu, 15 Dec 2011 11:10:32 +0000 Subject: [PATCH] re PR target/51050 ([AVR, attiny26] ICE: invalid rtl sharing found in the insn) PR target/51050 * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp. (avr_prologue_setup_frame): Ditto. From-SVN: r182363 --- gcc/ChangeLog | 6 ++++++ gcc/config/avr/avr.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40c96462f57..a12190f0ad2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-15 Georg-Johann Lay + + PR target/51050 + * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp. + (avr_prologue_setup_frame): Ditto. + 2011-12-15 Jakub Jelinek PR debug/51517 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index af32551fd37..367e76bf3ac 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -994,7 +994,7 @@ avr_prologue_setup_frame (HOST_WIDE_INT size, HARD_REG_SET set) /* The high byte (r29) does not change: Prefer SUBI (1 cycle) over ABIW (2 cycles, same size). */ - my_fp = simplify_gen_subreg (QImode, fp, Pmode, 0); + my_fp = all_regs_rtx[FRAME_POINTER_REGNUM]; } /************ Method 1: Adjust frame pointer ************/ @@ -1292,7 +1292,7 @@ expand_epilogue (bool sibcall_p) /* The high byte (r29) does not change: Prefer SUBI (1 cycle) over SBIW (2 cycles). */ - my_fp = simplify_gen_subreg (QImode, fp, Pmode, 0); + my_fp = all_regs_rtx[FRAME_POINTER_REGNUM]; } /********** Method 1: Adjust fp register **********/ -- 2.30.2