From fe8fb1c4c0c8793ffeb30cc470bfefcf4d13bfb4 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 6 Jul 2012 11:37:14 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 8 ++++++++ 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 + + 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 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); } -- 2.7.4