This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/37031] New: ICE for h264ref in gather_interchange_stats with -ftree-loop-linear
- From: "janis at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Aug 2008 17:37:50 -0000
- Subject: [Bug tree-optimization/37031] New: ICE for h264ref in gather_interchange_stats with -ftree-loop-linear
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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