[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #12 from abel at gcc dot gnu dot org 2010-08-24 08:55 --- Subject: Bug 42294 Author: abel Date: Tue Aug 24 08:55:33 2010 New Revision: 163503 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163503 Log: Backport from mainline: PR rtl-optimization/42294 * sel-sched.c (try_replace_dest_reg): When chosen register and original register is the same, do not bail out early, but still check all original insns for validity of replacing destination register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function in this case. Added: branches/gcc-4_4-branch/gcc/testsuite/gcc.dg/pr42249.c Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/sel-sched.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #13 from abel at gcc dot gnu dot org 2010-08-24 09:00 --- Subject: Bug 42294 Author: abel Date: Tue Aug 24 08:59:47 2010 New Revision: 163506 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163506 Log: Backport from mainline: 2010-01-14 Alexander Monakov amona...@ispras.ru PR rtl-optimization/42294 * sel-sched-ir.h (struct _sel_insn_data): Update comment. * sel-sched.c (move_exprs_to_boundary): Transitively add all originators' originators. Modified: branches/gcc-4_4-branch/gcc/ChangeLog branches/gcc-4_4-branch/gcc/sel-sched-ir.h branches/gcc-4_4-branch/gcc/sel-sched.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #11 from hjl at gcc dot gnu dot org 2010-02-07 04:44 --- Subject: Bug 42294 Author: hjl Date: Sun Feb 7 04:41:22 2010 New Revision: 156562 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=156562 Log: Backport testcases from mainline to 4.4. 2010-02-06 H.J. Lu hongjiu...@intel.com Backport from mainline: 2010-02-05 Dodji Seketeli do...@redhat.com PR c++/42915 * g++.dg/other/crash-9.C: New test. 2010-02-03 Jason Merrill ja...@redhat.com PR c++/40138 * g++.dg/ext/builtin11.C: New. 2010-02-03 Richard Guenther rguent...@suse.de PR tree-optimization/42944 * gcc.dg/errno-1.c: New testcase. 2010-02-03 Richard Guenther rguent...@suse.de PR middle-end/42927 * gcc.c-torture/compile/pr42927.c: New testcase. 2010-01-29 Dodji Seketeli do...@redhat.com PR c++/42758 PR c++/42634 PR c++/42336 PR c++/42797 PR c++/42880 * g++.dg/other/crash-5.C: New test. * g++.dg/other/crash-7.C: New test. * g++.dg/other/crash-8.C: New test. 2010-01-28 Uros Bizjak ubiz...@gmail.com PR target/42891 * gcc.target/i386/pr42891.c: New test. 2010-01-28 Richard Guenther rguent...@suse.de PR middle-end/42883 * g++.dg/torture/pr42883.C: New testcase. 2010-01-28 Michael Matz m...@suse.de * gcc.target/i386/pr42881.c: New test. 2010-01-28 Dodji Seketeli do...@redhat.com PR c++/42713 PR c++/42820 * g++.dg/template/typedef27.C: New test case. * g++.dg/template/typedef28.C: New test case. 2010-01-27 Jakub Jelinek ja...@redhat.com PR middle-end/42874 * gcc.dg/vla-22.c: New test. 2010-01-26 Richard Guenther rguent...@suse.de PR tree-optimization/42250 * gcc.dg/pr42250.c: New testcase. 2010-01-25 Tobias Burnus bur...@net-b.de PR fortran/42858 * gfortran.dg/generic_21.f90: New test. 2010-01-21 Martin Jambor mjam...@suse.cz PR tree-optimization/42585 * gcc.dg/tree-ssa/pr42585.c: New test. 2010-01-20 Alexandre Oliva aol...@redhat.com PR debug/42715 * gcc.dg/pr42715.c: New. 2010-01-20 Richard Guenther rguent...@suse.de PR tree-optimization/42717 * gcc.c-torture/compile/pr42717.c: New testcase. 2010-01-19 Paul Thomas pa...@gcc.gnu.org PR fortran/42783 * gfortran.dg/bounds_check_15.f90 : New test. 2010-01-18 Dodji Seketeli do...@redhat.com PR c++/42766 * g++.dg/conversion/op6.C: New test. 2010-01-18 Richard Guenther rguent...@suse.de PR tree-optimization/42781 * gfortran.fortran-torture/compile/pr42781.f90: New testcase. 2010-01-17 Richard Guenther rguent...@suse.de PR middle-end/42248 * gcc.c-torture/execute/pr42248.c: New testcase. 2010-01-17 Janus Weil ja...@gcc.gnu.org PR fortran/42677 * gfortran.dg/interface_assignment_5.f90: New test. 2010-01-15 Richard Guenther rguent...@suse.de PR middle-end/42739 * g++.dg/torture/pr42739.C: New testcase. 2010-01-14 Jerry DeLisle jvdeli...@gcc.gnu.org PR fortran/42684 * gfortran.dg/interface_31.f90: New test. 2010-01-14 Martin Jambor mjam...@suse.cz PR tree-optimization/42706 * gcc.dg/ipa/pr42706.c: New testcase. 2010-01-14 Martin Jambor mjam...@suse.cz PR tree-optimization/42714 * g++.dg/torture/pr42714.C: New test. 2010-01-14 Alexander Monakov amona...@ispras.ru PR rtl-optimization/42388 * gcc.dg/pr42388.c: New. 2010-01-14 Alexander Monakov amona...@ispras.ru PR rtl-optimization/42294 * gfortran.dg/pr42294.f: New. 2010-01-14 Ira Rosen i...@il.ibm.com PR tree-optimization/42709 * gcc.dg/vect/pr42709.c: New test. 2010-01-13 Richard Guenther rguent...@suse.de PR tree-optimization/42730 * gcc.c-torture/compile/pr42730.c: New testcase. 2010-01-13 Martin Jambor mjam...@suse.cz PR tree-optimization/42704 * g++.dg/torture/pr42704.C: New test. 2010-01-13 Martin Jambor mjam...@suse.cz PR tree-optimization/42703 * gcc.c-torture/compile/pr42703.c: New test. 2010-01-13 Richard Guenther rguent...@suse.de PR tree-optimization/42705 * gcc.c-torture/compile/pr42705.c: New testcase. 2010-01-13 Richard Guenther rguent...@suse.de PR middle-end/42716 * gcc.c-torture/compile/pr42716.c: New testcase. 2010-01-12 Joseph Myers jos...@codesourcery.com PR c/42708 * gcc.c-torture/compile/pr42708-1.c: New test. 2010-01-09 Alexandre Oliva
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #8 from abel at gcc dot gnu dot org 2010-01-14 10:16 --- Subject: Bug 42294 Author: abel Date: Thu Jan 14 10:16:01 2010 New Revision: 155889 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155889 Log: PR rtl-optimization/42294 * sel-sched.c (try_replace_dest_reg): When chosen register and original register is the same, do not bail out early, but still check all original insns for validity of replacing destination register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function in this case. Added: trunk/gcc/testsuite/gcc.dg/pr42249.c Modified: trunk/gcc/ChangeLog trunk/gcc/sel-sched.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #9 from abel at gcc dot gnu dot org 2010-01-14 10:17 --- Fixed by r155889. -- abel at gcc dot gnu dot org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #10 from amonakov at gcc dot gnu dot org 2010-01-14 10:47 --- Subject: Bug 42294 Author: amonakov Date: Thu Jan 14 10:46:57 2010 New Revision: 155893 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=155893 Log: 2010-01-14 Alexander Monakov amona...@ispras.ru PR rtl-optimization/42294 * sel-sched-ir.h (struct _sel_insn_data): Update comment. * sel-sched.c (move_exprs_to_boundary): Transitively add all originators' originators. * gfortran.dg/pr42294.f: New. Added: trunk/gcc/testsuite/gfortran.dg/pr42294.f Modified: trunk/gcc/ChangeLog trunk/gcc/sel-sched-ir.h trunk/gcc/sel-sched.c trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #7 from abel at gcc dot gnu dot org 2009-12-24 08:18 --- The problem here is in the incorrect handling of the transformation history. When an insn is transformed (i.e. substituted/speculated), this is recorded so that the insn could be found during upward code motion. Part of the data recorded is the uid of insn on which the transformation happened. As this second insn could get removed while filling a parallel group, and its bookkeeping copy could be created, we need to undo the transformation while moving through this copy instead of original insn. To do this, we also maintain a bitmap of insn uids that could generate the copy (INSN_ORIGINATORS), and we also check it on the copies. The actual bug was that the bitmap should contain all ancestor insns of a copy, not only parents, as the copy found could originated from another copy (yes, I was stupid of not thinking about this earlier). The alternate solution would be to make the search function recurse on INSN_ORIGINATORS bitmap, but this one seemed clearer. Patch by Alexander below, we would need to ask someone with access to ppc64 to test it (as a part of combined patch fixing other sel-sched bugs) in addition to our testing. * sel-sched-ir.h (struct _sel_insn_data): Update comment. * sel-sched.c (move_exprs_to_boundary): Transitively add all originators' originators. --- gcc/sel-sched-ir.h |3 ++- gcc/sel-sched.c|9 + 2 files changed, 11 insertions(+), 1 deletions(-) diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 1950a65..67b5b62 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -715,7 +715,8 @@ struct _sel_insn_data bitmap found_deps; /* An INSN_UID bit is set when this is a bookkeeping insn generated from - a parent with this uid. */ + a parent with this uid. If a parent is a bookkeeping copy, all its + originators are transitively included in this set. */ bitmap originators; /* A hashtable caching the result of insn transformations through this one. */ diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c index e5ebc57..9fcc633 100644 --- a/gcc/sel-sched.c +++ b/gcc/sel-sched.c @@ -5211,12 +5211,21 @@ move_exprs_to_boundary (bnd_t bnd, expr_t expr_vliw, EXECUTE_IF_SET_IN_BITMAP (current_copies, 0, book_uid, bi) { + unsigned uid; + bitmap_iterator bi; + /* We allocate these bitmaps lazily. */ if (! INSN_ORIGINATORS_BY_UID (book_uid)) INSN_ORIGINATORS_BY_UID (book_uid) = BITMAP_ALLOC (NULL); bitmap_copy (INSN_ORIGINATORS_BY_UID (book_uid), current_originators); + + /* Transitively add all originators' originators. */ + EXECUTE_IF_SET_IN_BITMAP (current_originators, 0, uid, bi) + if (INSN_ORIGINATORS_BY_UID (uid)) +bitmap_ior_into (INSN_ORIGINATORS_BY_UID (book_uid), + INSN_ORIGINATORS_BY_UID (uid)); } return should_move; -- abel at gcc dot gnu dot org changed: What|Removed |Added CC||abel at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #5 from rguenth at gcc dot gnu dot org 2009-12-11 23:10 --- A regression because it works with 4.4.x? -- rguenth at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #6 from janis at gcc dot gnu dot org 2009-12-12 00:27 --- The testcase with the options shown in the submitter's description compiles cleanly with the current 4.4 branch and with GCC 4.4.1. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #4 from amonakov at gcc dot gnu dot org 2009-12-08 11:55 --- (In reply to comment #3) Also not reproducible on x86_64-ppc64 cross. While codegen differences on ppc/ppc64/x86_64 cross are certainly surprising, in the end this testcase most likely indicates a bug in sel-sched. Reprodicible on x86_64-ppc64 cross with -fno-section-anchors appended to command line. Native ppc64 compiler seems to not use section anchors on this testcase. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
-- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||zaks at il dot ibm dot com, ||matz at gcc dot gnu dot org Summary|ICE in |[4.5 Regression] ICE in |code_motion_path_driver for |code_motion_path_driver for |416.gamess |416.gamess Target Milestone|--- |4.5.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294
[Bug rtl-optimization/42294] [4.5 Regression] ICE in code_motion_path_driver for 416.gamess
--- Comment #3 from amonakov at gcc dot gnu dot org 2009-12-07 18:23 --- Also not reproducible on x86_64-ppc64 cross. While codegen differences on ppc/ppc64/x86_64 cross are certainly surprising, in the end this testcase most likely indicates a bug in sel-sched. -- amonakov at gcc dot gnu dot org changed: What|Removed |Added CC||abel at ispras dot ru AssignedTo|unassigned at gcc dot gnu |amonakov at gcc dot gnu dot |dot org |org Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Last reconfirmed|-00-00 00:00:00 |2009-12-07 18:23:47 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42294