GCC-4.10.0 (trunk) x86_64-apple-darwin11.4.2 Running the following test: make -s -C gcc check-gcc RUNTESTFLAGS="dg.exp=pr47684.c --target_board=unix/-O3/-fno-tree-vectorize" GCC throw an ICE: ------------------------------------------------------------------------ /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c: In function 'foo': /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: error: no immediate_use list for SSA_NAME: _16 in statement: _13 = PHI <pretmp_103(8), _16(4)> PHI argument _16 for PHI node _13 = PHI <pretmp_103(8), _16(4)> /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: verify_ssa failed /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: Abort trap: 6 xgcc: internal compiler error: Abort trap: 6 (program cc1) compiler exited with status 1 output is: /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c: In function 'foo': /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: error: no immediate_use list for SSA_NAME: _16 in statement: _13 = PHI <pretmp_103(8), _16(4)> PHI argument _16 for PHI node _13 = PHI <pretmp_103(8), _16(4)> /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: verify_ssa failed /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: Abort trap: 6 xgcc: internal compiler error: Abort trap: 6 (program cc1) FAIL: gcc.dg/pr47684.c (internal compiler error) FAIL: gcc.dg/pr47684.c (test for excess errors) Excess errors: /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: error: no immediate_use list for SSA_NAME: _16 in statement: _13 = PHI <pretmp_103(8), _16(4)> PHI argument _16 for PHI node _13 = PHI <pretmp_103(8), _16(4)> /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: verify_ssa failed /Users/sabrinasouto/Downloads/gcc_trunk/trunk/gcc/testsuite/gcc.dg/pr47684.c:10:1: internal compiler error: Abort trap: 6 xgcc: internal compiler error: Abort trap: 6 (program cc1) ------------------------------------------------------------------------ Can anyone confirm this bug? Thanks, Sabrina Souto.
Confirmed on x86_64-apple-darwin13 at revision r213759, revision r213645 is OK.
Marked as a regression.
Fails since 4.6 at least. Predictive commoning gets confused. Not sure if really a regression. Note that you need checking enabled. We end up here static void execute_pred_commoning_chain (struct loop *loop, chain_p chain, bitmap tmp_vars) { unsigned i; dref a; tree var; if (chain->combined) { /* For combined chains, just remove the statements that are used to compute the values of the expression (except for the root one). */ for (i = 1; chain->refs.iterate (i, &a); i++) remove_stmt (a->stmt); failing to realize that unrolling may end up creating new PHIs. Note that predcom does just fine in the end - it just is "broken" by the intermittent verification in gimple_duplicate_loop_to_header_edge. That is already skipped in some cases so just remove it completely now.
Fixed on trunk.
Author: rguenth Date: Mon Aug 11 10:55:10 2014 New Revision: 213810 URL: https://gcc.gnu.org/viewcvs?rev=213810&root=gcc&view=rev Log: 2014-08-11 Richard Biener <rguenther@suse.de> PR tree-optimization/62070 * tree-ssa-loop-manip.c (gimple_duplicate_loop_to_header_edge): Remove SSA checking. * gcc.dg/pr62070.c: New testcase. Added: trunk/gcc/testsuite/gcc.dg/pr62070.c Modified: trunk/gcc/ChangeLog trunk/gcc/testsuite/ChangeLog trunk/gcc/tree-ssa-loop-manip.c