aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2012-07-06 11:37:14 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2012-07-06 11:37:14 +0000
commitfe8fb1c4c0c8793ffeb30cc470bfefcf4d13bfb4 (patch)
treef4ceb627969e672a3c9d424e73c294fcb25e8885
parent5de33281664f175e0f19f0e64cba7d25e09c2ef6 (diff)
downloadgcc-fe8fb1c4c0c8793ffeb30cc470bfefcf4d13bfb4.zip
gcc-fe8fb1c4c0c8793ffeb30cc470bfefcf4d13bfb4.tar.gz
gcc-fe8fb1c4c0c8793ffeb30cc470bfefcf4d13bfb4.tar.bz2
re PR rtl-optimization/53827 ([alpha]: Invalid insn scheduling in sched1 pass)
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. From-SVN: r189325
-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);
}