aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/alias.c4
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);
}