[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #10 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 06:53:30 UTC --- Created attachment 27783 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=27783 patch from Richard Sandiford Updated patch, from http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00463.html (which wasn't in patch form).
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #11 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 08:53:28 UTC --- Author: hp Date: Fri Jul 13 08:53:24 2012 New Revision: 189454 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189454 Log: PR rtl-optimization/53908 * df-problems.c (can_move_insns_across): When doing memory-reference book-keeping, handle call insns. Modified: trunk/gcc/ChangeLog trunk/gcc/df-problems.c
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #12 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 08:58:52 UTC --- Author: hp Date: Fri Jul 13 08:58:46 2012 New Revision: 189455 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189455 Log: PR rtl-optimization/53908 * gcc.dg/torture/pr53908.c: New test. Added: trunk/gcc/testsuite/gcc.dg/torture/pr53908.c Modified: trunk/gcc/testsuite/ChangeLog
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #13 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 17:21:47 UTC --- Author: hp Date: Fri Jul 13 17:21:41 2012 New Revision: 189468 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189468 Log: PR rtl-optimization/53908 * df-problems.c (can_move_insns_across): When doing memory-reference book-keeping, handle call insns. Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/df-problems.c
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #14 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 17:23:02 UTC --- Author: hp Date: Fri Jul 13 17:22:55 2012 New Revision: 189469 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=189469 Log: PR rtl-optimization/53908 * gcc.dg/torture/pr53908.c: New test. Added: branches/gcc-4_7-branch/gcc/testsuite/gcc.dg/torture/pr53908.c Modified: branches/gcc-4_7-branch/gcc/testsuite/ChangeLog
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 Hans-Peter Nilsson hp at gcc dot gnu.org changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #15 from Hans-Peter Nilsson hp at gcc dot gnu.org 2012-07-13 17:27:11 UTC --- Testing for 4.7 went well, as expected from the previous versions, so committed. Closing, but feel free to post test-results for 4.6 and permission for back-port.
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-07-11 Ever Confirmed|0 |1 --- Comment #6 from H.J. Lu hjl.tools at gmail dot com 2012-07-11 06:27:29 UTC --- It is fixed on trunk by revision 186159: http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00108.html
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added CC||bernds at gcc dot gnu.org --- Comment #7 from H.J. Lu hjl.tools at gmail dot com 2012-07-11 08:04:48 UTC --- It is caused by revision 167779: http://gcc.gnu.org/ml/gcc-cvs/2010-12/msg00461.html
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #8 from Mikael Pettersson mikpe at it dot uu.se 2012-07-11 09:46:06 UTC --- Backporting r186159 and its followup fix r186164 to 4.7.1 was easy and fixed the test case there too (untested beyond this test case). Backporting those revisions to 4.6.3 required more elbow grease but didn't fix the test case there. I'm going to test the 4.7 backport properly now, in case a smaller more direct fix doesn't emerge soon.
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 H.J. Lu hjl.tools at gmail dot com changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc-p ||atches/2012-07/msg00410.htm ||l --- Comment #9 from H.J. Lu hjl.tools at gmail dot com 2012-07-11 12:38:16 UTC --- The fix is posted at http://gcc.gnu.org/ml/gcc-patches/2012-07/msg00410.html
[Bug rtl-optimization/53908] [4.6/4.7 Regression] csa removes needed memory load
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53908 --- Comment #5 from Mikael Pettersson mikpe at it dot uu.se 2012-07-10 22:50:24 UTC --- On x86_64-linux the SEGV went away on trunk with r186159: http://gcc.gnu.org/ml/gcc-cvs/2012-04/msg00108.html http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00202.html The patch description makes it sound more like a cleanup than fixing actual bugs, but when I diff the assembly code for the test case with r186158 and r186159 I see: --- pr53908.s-r186158 2012-07-11 00:28:57.0 +0200 +++ pr53908.s-r186159 2012-07-11 00:34:32.0 +0200 ... callis_basic testl %eax, %eax - movq8(%rsp), %rbp - js .L68 -.L29: + js .L29 +.L33: movqusers(%rip), %rbx + movq8(%rsp), %rbp testq %rbx, %rbx ... That is, a load is being moved across a control flow insn. All other diffs seem to just be changed label numbers. I'll give it some more testing tomorrow.