aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2005-04-16 11:37:29 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2005-04-16 11:37:29 +0100
commit077bc9240b5d30f018690a4efb9351cb0ccb9d45 (patch)
treea4f73a9d0facf961e5e06bd854abada63b181a04 /gcc
parent159921c0227cda0a6279b1ce3eaa673a885b3839 (diff)
downloadgcc-077bc9240b5d30f018690a4efb9351cb0ccb9d45.zip
gcc-077bc9240b5d30f018690a4efb9351cb0ccb9d45.tar.gz
gcc-077bc9240b5d30f018690a4efb9351cb0ccb9d45.tar.bz2
re PR middle-end/20491 (internal compiler error: in subreg_regno_offset, at rtlanal.c:3042)
PR middle-end/20491 * config/ia64/ia64.c (rtx_needs_barrier): Recurse instead of falling through from SUBREG case to REG. From-SVN: r98225
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/ia64/ia64.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f3ba578..1c218f0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 55fde10..82dff03 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -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)
{