aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2011-12-15 11:10:32 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2011-12-15 11:10:32 +0000
commit4e15cee6c747d8f4fec5081b0eaff5af0e773dc5 (patch)
tree5b04a2bbcf30ddce7168b158ed7946ed1ab83818
parent0c1e1df880daa8c6093fcc907687303877f3bfe6 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/config/avr/avr.c4
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 **********/