[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 --- Comment #7 from Steven Bosscher steven at gcc dot gnu.org 2012-11-08 21:47:54 UTC --- Author: steven Date: Thu Nov 8 21:47:50 2012 New Revision: 193341 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=193341 Log: gcc/ PR tree-optimization/55191 * cfganal.c (connect_infinite_loops_to_exit): Call dfs_deadend here. (flow_dfs_compute_reverse_execute): Don't call it here. testsuite/ PR tree-optimization/55191 * gcc.dg/pr55191.c: New test. Added: trunk/gcc/testsuite/gcc.dg/pr55191.c Modified: trunk/gcc/ChangeLog trunk/gcc/cfganal.c trunk/gcc/testsuite/ChangeLog
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #8 from Steven Bosscher steven at gcc dot gnu.org 2012-11-08 21:49:19 UTC --- .
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 Steven Bosscher steven at gcc dot gnu.org changed: What|Removed |Added Keywords||patch Status|NEW |ASSIGNED URL||http://gcc.gnu.org/ml/gcc-p ||atches/2012-11/msg00444.htm ||l CC|steven at gcc dot gnu.org | AssignedTo|unassigned at gcc dot |steven at gcc dot gnu.org |gnu.org |
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 --- Comment #5 from Steven Bosscher steven at gcc dot gnu.org 2012-11-05 20:23:55 UTC --- Ugliness in cfganal.c, it depends on the block ordering for the DFS it performs on the reverse CFG. The following patch should fix the issue. Index: cfganal.c === --- cfganal.c(revision 193181) +++ cfganal.c(working copy) @@ -452,6 +452,7 @@ void connect_infinite_loops_to_exit (void) { basic_block unvisited_block = EXIT_BLOCK_PTR; + basic_block deadend_block; struct depth_first_search_dsS dfs_ds; /* Perform depth-first search in the reverse graph to find nodes @@ -467,8 +468,9 @@ connect_infinite_loops_to_exit (void) if (!unvisited_block) break; - make_edge (unvisited_block, EXIT_BLOCK_PTR, EDGE_FAKE); - flow_dfs_compute_reverse_add_bb (dfs_ds, unvisited_block); + deadend_block = dfs_find_deadend (unvisited_block); + make_edge (deadend_block, EXIT_BLOCK_PTR, EDGE_FAKE); + flow_dfs_compute_reverse_add_bb (dfs_ds, deadend_block); } flow_dfs_compute_reverse_finish (dfs_ds); @@ -958,7 +960,7 @@ flow_dfs_compute_reverse_execute (depth_ /* Determine if there are unvisited basic blocks. */ FOR_BB_BETWEEN (bb, last_unvisited, NULL, prev_bb) if (!bitmap_bit_p (data-visited_blocks, bb-index)) - return dfs_find_deadend (bb); + return bb; return NULL; }
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 --- Comment #6 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-11-05 21:05:07 UTC --- *** Bug 55176 has been marked as a duplicate of this bug. ***
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 Markus Trippelsdorf markus at trippelsdorf dot de changed: What|Removed |Added CC||markus at trippelsdorf dot ||de --- Comment #2 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-11-04 10:36:32 UTC --- Dup of 55176.
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 --- Comment #3 from David Binderman dcb314 at hotmail dot com 2012-11-04 20:05:37 UTC --- (In reply to comment #2) Dup of 55176. I don't see the connection. One is an OOM, the other is an ICE.
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 --- Comment #4 from Markus Trippelsdorf markus at trippelsdorf dot de 2012-11-04 20:08:15 UTC --- (In reply to comment #3) (In reply to comment #2) Dup of 55176. I don't see the connection. One is an OOM, the other is an ICE. OOM - when gcc was build with --enable-checking=release ICE - otherwise
[Bug tree-optimization/55191] [4.8 Regression] ICE in compute_antic at tree-ssa-pre.c:2511
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55191 Marek Polacek mpolacek at gcc dot gnu.org changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed||2012-11-03 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-03 16:46:17 UTC --- Started with http://gcc.gnu.org/viewcvs?view=revisionrevision=193047