This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
- From: "aoliva at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 02 Jul 2012 12:07:09 +0000
- Subject: [Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
- Auto-submitted: auto-generated
- References: <bug-53827-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827
Alexandre Oliva <aoliva at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |aoliva at gcc dot gnu.org
|gnu.org |
--- Comment #2 from Alexandre Oliva <aoliva at gcc dot gnu.org> 2012-07-02 12:07:09 UTC ---
My thinko. This patchlet ought to fix it. Testing now...
Index: gcc/alias.c
===================================================================
--- gcc/alias.c.orig 2012-07-02 09:04:06.193137799 -0300
+++ gcc/alias.c 2012-07-02 09:04:08.000000000 -0300
@@ -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);
}