Current mainline fails to compile h264ref from SPEC CPU2006 with some sets of options. It's somewhat intermittent but complaints from valgrind appear to be consistent. Here's the failure for -O3 -ftree-loop-linear using cc1 from within a script; using the same command directly didn't result in the failure:
bug.c: In function foo: bug.c:13: internal compiler error: vector VEC(lambda_vector,base) index domain error, in gather_interchange_stats at tree-loop-linear.c:150 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. valgrind reports: ==13989== Invalid read of size 4 ==13989== at 0x106DBC34: gather_interchange_stats (lambda.h:31) ==13989== by 0x106DC5B8: linear_transform_loops (tree-loop-linear.c:211) ==13989== by 0x10432CC8: tree_linear_transform (tree-ssa-loop.c:259) ==13989== by 0x1029D19C: execute_one_pass (passes.c:1282) ==13989== by 0x1029D480: execute_pass_list (passes.c:1330) ==13989== by 0x1029D498: execute_pass_list (passes.c:1331) ==13989== by 0x1029D498: execute_pass_list (passes.c:1331) ==13989== by 0x103999D0: tree_rest_of_compilation (tree-optimize.c:418) ==13989== by 0x10547DBC: cgraph_expand_function (cgraphunit.c:1038) ==13989== by 0x1054A2D0: cgraph_optimize (cgraphunit.c:1100) ==13989== by 0x10017584: c_write_global_declarations (c-decl.c:8038) ==13989== by 0x10338A2C: toplev_main (toplev.c:967) ==13989== Address 0x76A1BD8 is 0 bytes inside a block of size 20 free'd ==13989== at 0xFFBAE98: realloc (in /usr/lib/valgrind/ppc32-linux/vgpreload_memcheck.so) ==13989== by 0x10720DD8: xrealloc (xmalloc.c:179) ==13989== by 0x105152DC: vec_heap_o_reserve_1 (vec.c:176) ==13989== by 0x1069FC98: lambda_compute_access_matrices (lambda.h:32) ==13989== by 0x106DC458: linear_transform_loops (tree-loop-linear.c:353) ==13989== by 0x10432CC8: tree_linear_transform (tree-ssa-loop.c:259) ==13989== by 0x1029D19C: execute_one_pass (passes.c:1282) ==13989== by 0x1029D480: execute_pass_list (passes.c:1330) ==13989== by 0x1029D498: execute_pass_list (passes.c:1331) ==13989== by 0x1029D498: execute_pass_list (passes.c:1331) ==13989== by 0x103999D0: tree_rest_of_compilation (tree-optimize.c:418) ==13989== by 0x10547DBC: cgraph_expand_function (cgraphunit.c:1038) I'll attach the testcase, the valgrind output, and the script I used with delta to initially cut down the testcase. I've seen the failure with GCC back to 20080429 but haven't yet tried a reghunt. -- Summary: ICE for h264ref in gather_interchange_stats with -ftree- loop-linear Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: janis at gcc dot gnu dot org GCC target triplet: powerpc-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37031