diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f3ba578fd78b001c47c5917860ed5a2317d6aae1..1c218f09a2d8e83fb61330dfc19edee0a4cdb234 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 55fde10d029b828c8db8290cf69810b50cbc5d13..82dff03f36c79c389ab3eee2d99494287087c258 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) {