[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 --- Comment #8 from Alexandre Oliva aoliva at gcc dot gnu.org 2013-01-18 10:57:51 UTC --- Author: aoliva Date: Fri Jan 18 10:57:36 2013 New Revision: 195289 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195289 Log: PR rtl-optimization/55547 PR rtl-optimization/53827 PR debug/53671 PR debug/49888 * alias.c (offset_overlap_p): New, factored out of... (memrefs_conflict_p): ... this. Use absolute sizes. Retain the conservative special case for symbolic constants. Don't adjust zero sizes on alignment. Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 --- Comment #7 from Alexandre Oliva aoliva at gcc dot gnu.org 2013-01-16 04:31:39 UTC --- Author: aoliva Date: Wed Jan 16 04:31:30 2013 New Revision: 195227 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=195227 Log: PR rtl-optimization/55547 PR rtl-optimization/53827 PR debug/53671 PR debug/49888 * alias.c (memrefs_conflict_p): Set sizes to negative after AND adjustments. Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 --- Comment #4 from Uros Bizjak ubizjak at gmail dot com 2012-07-06 07:55:59 UTC --- Alexandre, can you please commit the patch from Comment 2? I have bootstrapped and regression tested it on alphaev68-pc-linux-gnu (an AND target) without problems.
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 --- Comment #5 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-07-06 11:37:17 UTC --- Author: aoliva Date: Fri Jul 6 11:37:14 2012 New Revision: 189325 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189325 Log: 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. Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 Alexandre Oliva aoliva at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #5 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-07-06 11:37:17 UTC --- Author: aoliva Date: Fri Jul 6 11:37:14 2012 New Revision: 189325 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189325 Log: 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. Modified: trunk/gcc/ChangeLog trunk/gcc/alias.c --- Comment #6 from Alexandre Oliva aoliva at gcc dot gnu.org 2012-07-06 12:18:51 UTC --- Fixed
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 --- Comment #3 from Uros Bizjak ubizjak at gmail dot com 2012-07-03 07:05:29 UTC --- (In reply to comment #2) My thinko. This patchlet ought to fix it. Testing now... I can confirm that the patch fixes all memset* runtime failures in [1]. [1] http://gcc.gnu.org/ml/gcc-testresults/2012-07/msg00017.html
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53827 Richard Guenther rguenth at gcc dot gnu.org changed: What|Removed |Added Keywords||wrong-code Target Milestone|--- |4.8.0 Summary|[alpha]: Invalid insn |[4.8 Regression][alpha]: |scheduling in sched1 pass |Invalid insn scheduling in ||sched1 pass
[Bug rtl-optimization/53827] [4.8 Regression][alpha]: Invalid insn scheduling in sched1 pass
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.orig2012-07-02 09:04:06.193137799 -0300 +++ gcc/alias.c2012-07-02 09:04:08.0 -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); }