re PR target/51050 ([AVR, attiny26] ICE: invalid rtl sharing found in the insn)
authorGeorg-Johann Lay <avr@gjlay.de>
Thu, 15 Dec 2011 11:10:32 +0000 (11:10 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Thu, 15 Dec 2011 11:10:32 +0000 (11:10 +0000)
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
gcc/config/avr/avr.c

index 40c96462f57e16b2084af85cce210dea1606bb67..a12190f0ad264c375653f0da5818fc99a8823d38 100644 (file)
@@ -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
index af32551fd3714f0f6f109272cfb03ad47574b065..367e76bf3ac3fb5c661d79f4061ff98d66d863a2 100644 (file)
@@ -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  **********/