for gcc/ChangeLog
from 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.
===================================================================
@@ -2107,7 +2107,7 @@ memrefs_conflict_p (int xsize, rtx x, in
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, in
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);
}