[Bug middle-end/55263] [4.8 Regression] ICE: pre_and_rev_post_order_compute, at cfganal.c:875 with -O -fgcse-after-reload -fnon-call-exceptions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55263 --- Comment #3 from Steven Bosscher steven at gcc dot gnu.org 2012-11-11 20:29:15 UTC --- Author: steven Date: Sun Nov 11 20:29:11 2012 New Revision: 193412 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193412 Log: gcc/ PR middle-end/55263 * postreload.c (rest_of_handle_postreload): With non-call exceptions, if edges are purged call cleanup_cfg to remove unreachable blocks. testsuite/ PR middle-end/55263 * g++.dg/pr55263.C: New test. Added: trunk/gcc/testsuite/g++.dg/pr55263.C Modified: trunk/gcc/ChangeLog trunk/gcc/postreload.c trunk/gcc/testsuite/ChangeLog
[Bug middle-end/55263] [4.8 Regression] ICE: pre_and_rev_post_order_compute, at cfganal.c:875 with -O -fgcse-after-reload -fnon-call-exceptions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55263 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #4 from Steven Bosscher steven at gcc dot gnu.org 2012-11-11 20:33:26 UTC --- .
[Bug middle-end/55263] [4.8 Regression] ICE: pre_and_rev_post_order_compute, at cfganal.c:875 with -O -fgcse-after-reload -fnon-call-exceptions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55263 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-11-10 CC||mpolacek at gcc dot ||gnu.org, steven at gcc dot ||gnu.org Target Milestone|--- |4.8.0 Ever Confirmed|0 |1 --- Comment #1 from Marek Polacek mpolacek at gcc dot gnu.org 2012-11-10 18:24:15 UTC --- Started with http://gcc.gnu.org/viewcvs?view=revisionrevision=190602
[Bug middle-end/55263] [4.8 Regression] ICE: pre_and_rev_post_order_compute, at cfganal.c:875 with -O -fgcse-after-reload -fnon-call-exceptions
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55263 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added Status|NEW |ASSIGNED CC|steven at gcc dot gnu.org | AssignedTo|unassigned at gcc dot |steven at gcc dot gnu.org |gnu.org | --- Comment #2 from Steven Bosscher steven at gcc dot gnu.org 2012-11-10 23:59:39 UTC --- Index: postreload.c === --- postreload.c(revision 193396) +++ postreload.c(working copy) @@ -2289,8 +2289,9 @@ rest_of_handle_postreload (void) reload_cse_regs (get_insns ()); /* Reload_cse_regs can eliminate potentially-trapping MEMs. Remove any EH edges associated with them. */ - if (cfun-can_throw_non_call_exceptions) -purge_all_dead_edges (); + if (cfun-can_throw_non_call_exceptions + purge_all_dead_edges ()) +cleanup_cfg (0); return 0; }