diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/rtlanal.c | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d64c02896ff..a25ac12d616 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-03-11 Kaz Kojima <kkojima@gcc.gnu.org> + + PR rtl-optimization/20331 + * rtlanal.c (modified_between_p): Check its address first for MEM. + (modified_in_p): Likewise. + 2005-03-11 Joseph S. Myers <joseph@codesourcery.com> * config.gcc (hppa*64*-*-hpux11*): Use pa/t-hpux-shlib. diff --git a/gcc/rtlanal.c b/gcc/rtlanal.c index 94e8d4c8033..79121d48b78 100644 --- a/gcc/rtlanal.c +++ b/gcc/rtlanal.c @@ -817,10 +817,10 @@ modified_between_p (rtx x, rtx start, rtx end) return 1; case MEM: - if (MEM_READONLY_P (x)) - return 0; if (modified_between_p (XEXP (x, 0), start, end)) return 1; + if (MEM_READONLY_P (x)) + return 0; for (insn = NEXT_INSN (start); insn != end; insn = NEXT_INSN (insn)) if (memory_modified_in_insn_p (x, insn)) return 1; @@ -875,10 +875,10 @@ modified_in_p (rtx x, rtx insn) return 1; case MEM: - if (MEM_READONLY_P (x)) - return 0; if (modified_in_p (XEXP (x, 0), insn)) return 1; + if (MEM_READONLY_P (x)) + return 0; if (memory_modified_in_insn_p (x, insn)) return 1; return 0; |