diff options
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/alias.c | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 871e023..f7a65b9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-07-06 Alexandre Oilva <aoliva@redhat.com> + + PR rtl-optimization/53827 + PR debug/53671 + PR debug/49888 + * alias.c (memrefs_conflict_p): Adjust offset and size by the + same amount for alignment ANDs. + 2012-07-06 Tom de Vries <tom@codesourcery.com> PR tree-optimization/51879 diff --git a/gcc/alias.c b/gcc/alias.c index b6aca34..de9f32c 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -2107,7 +2107,7 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c) if (xsize > 0 && sc < 0 && -uc == (uc & -uc)) { xsize -= sc + 1; - c -= sc; + c -= sc + 1; return memrefs_conflict_p (xsize, canon_rtx (XEXP (x, 0)), ysize, y, c); } @@ -2119,7 +2119,7 @@ memrefs_conflict_p (int xsize, rtx x, int ysize, rtx y, HOST_WIDE_INT c) if (ysize > 0 && sc < 0 && -uc == (uc & -uc)) { ysize -= sc + 1; - c += sc; + c += sc + 1; return memrefs_conflict_p (xsize, x, ysize, canon_rtx (XEXP (y, 0)), c); } |