summaryrefslogtreecommitdiff
path: root/gcc/alias.c
diff options
context:
space:
mode:
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-06 11:37:14 +0000
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>2012-07-06 11:37:14 +0000
commit686d491a041f813b4fa6691008f11062bd6fc091 (patch)
treef4ceb627969e672a3c9d424e73c294fcb25e8885 /gcc/alias.c
parentcfc5707a46815e6416f7622ba0f82b94ce50e77d (diff)
downloadgcc-686d491a041f813b4fa6691008f11062bd6fc091.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189325 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/alias.c')
-rw-r--r--gcc/alias.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/alias.c b/gcc/alias.c
index b6aca343f06..de9f32c46d6 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);
}