re PR middle-end/20491 (internal compiler error: in subreg_regno_offset, at rtlanal...
authorJoseph Myers <joseph@codesourcery.com>
Sat, 16 Apr 2005 10:37:29 +0000 (11:37 +0100)
committerJoseph Myers <jsm28@gcc.gnu.org>
Sat, 16 Apr 2005 10:37:29 +0000 (11:37 +0100)
PR middle-end/20491
* config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
falling through from SUBREG case to REG.

From-SVN: r98225

gcc/ChangeLog
gcc/config/ia64/ia64.c

index f3ba578..1c218f0 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-16  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR middle-end/20491
+       * config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of
+       falling through from SUBREG case to REG.
+
 2005-04-15  Roger Sayle  <roger@eyesopen.com>
 
        * fold-const.c (fold_relational_hi_lo): Delete function and prototype.
index 55fde10..82dff03 100644 (file)
@@ -5196,8 +5196,8 @@ rtx_needs_barrier (rtx x, struct reg_flags flags, int pred)
       break;
 
     case SUBREG:
-      x = SUBREG_REG (x);
-      /* FALLTHRU */
+      need_barrier |= rtx_needs_barrier (SUBREG_REG (x), flags, pred);
+      break;
     case REG:
       if (REGNO (x) == AR_UNAT_REGNUM)
        {