diff options
author | Georg-Johann Lay <avr@gjlay.de> | 2011-12-15 11:10:32 +0000 |
---|---|---|
committer | Georg-Johann Lay <gjl@gcc.gnu.org> | 2011-12-15 11:10:32 +0000 |
commit | 4e15cee6c747d8f4fec5081b0eaff5af0e773dc5 (patch) | |
tree | 5b04a2bbcf30ddce7168b158ed7946ed1ab83818 | |
parent | 0c1e1df880daa8c6093fcc907687303877f3bfe6 (diff) | |
download | gcc-4e15cee6c747d8f4fec5081b0eaff5af0e773dc5.zip gcc-4e15cee6c747d8f4fec5081b0eaff5af0e773dc5.tar.gz gcc-4e15cee6c747d8f4fec5081b0eaff5af0e773dc5.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 40c9646..a12190f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-12-15 Georg-Johann Lay <avr@gjlay.de> + + 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 <jakub@redhat.com> PR debug/51517 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index af32551..367e76b 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 **********/ |