http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46924
Summary: [4.6 Regression] ICE: SIGSEGV in rewrite_commutative_reductions_out_of_ssa_loop (graphite-poly.h:450) with -fgraphite-identity -ffast-math -fno-tree-loop-im Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz CC: s...@gcc.gnu.org Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 22744 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22744 reduced testcase (from gcc.dg/graphite/id-14.c) Compiler output: $ gcc -O -fgraphite-identity -ffast-math -fno-tree-loop-im pr46924.c ==29600== Invalid read of size 8 ==29600== at 0xFDCB06: rewrite_commutative_reductions_out_of_ssa_loop (graphite-poly.h:450) ==29600== by 0xFE3F1E: build_poly_scop (graphite-sese-to-poly.c:3068) ==29600== by 0xFCB4F4: graphite_transform_loops (graphite.c:282) ==29600== by 0x9B20C6: graphite_transforms (tree-ssa-loop.c:296) ==29600== by 0x7EC65E: execute_one_pass (passes.c:1553) ==29600== by 0x7EC924: execute_pass_list (passes.c:1608) ==29600== by 0x7EC936: execute_pass_list (passes.c:1609) ==29600== by 0x7EC936: execute_pass_list (passes.c:1609) ==29600== by 0x7EC936: execute_pass_list (passes.c:1609) ==29600== by 0x92CEF5: tree_rest_of_compilation (tree-optimize.c:422) ==29600== by 0xAF2721: cgraph_expand_function (cgraphunit.c:1508) ==29600== by 0xAF4CF9: cgraph_optimize (cgraphunit.c:1567) ==29600== Address 0x8 is not stack'd, malloc'd or (recently) free'd ==29600== pr46924.c: In function 'foo': pr46924.c:7:7: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. GDB backtrace: split_reduction_stmt (scop=0x17c36f0, loop=<value optimized out>) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:2644 2644 poly_bb_p pbb = pbb_from_bb (bb); (gdb) bt #0 split_reduction_stmt (scop=0x17c36f0, loop=<value optimized out>) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:2644 #1 translate_scalar_reduction_to_array (scop=0x17c36f0, loop=<value optimized out>) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:2984 #2 rewrite_commutative_reductions_out_of_ssa_close_phi (scop=0x17c36f0, loop=<value optimized out>) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:3024 #3 rewrite_commutative_reductions_out_of_ssa_loop (scop=0x17c36f0, loop=<value optimized out>) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:3051 #4 0x0000000000fe3f1f in rewrite_commutative_reductions_out_of_ssa (scop=0x17c36f0) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:3068 #5 build_poly_scop (scop=0x17c36f0) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite-sese-to-poly.c:3155 #6 0x0000000000fcb4f5 in graphite_transform_loops () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/graphite.c:282 #7 0x00000000009b20c7 in graphite_transforms () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/tree-ssa-loop.c:296 #8 0x00000000007ec65f in execute_one_pass (pass=0x16368a0) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/passes.c:1553 #9 0x00000000007ec925 in execute_pass_list (pass=0x16368a0) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/passes.c:1608 #10 0x00000000007ec937 in execute_pass_list (pass=0x1636900) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/passes.c:1609 #11 0x00000000007ec937 in execute_pass_list (pass=0x1636ba0) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/passes.c:1609 #12 0x00000000007ec937 in execute_pass_list (pass=0x1635d60) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/passes.c:1609 #13 0x000000000092cef6 in tree_rest_of_compilation (fndecl=0x7ffff5cc4f00) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/tree-optimize.c:422 #14 0x0000000000af2722 in cgraph_expand_function (node=0x7ffff5ce4000) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/cgraphunit.c:1508 #15 0x0000000000af4cfa in cgraph_expand_all_functions () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/cgraphunit.c:1567 #16 cgraph_optimize () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/cgraphunit.c:1827 #17 0x0000000000af527a in cgraph_finalize_compilation_unit () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/cgraphunit.c:1031 #18 0x0000000000508cdc in c_write_global_declarations () at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/c-decl.c:9845 #19 0x00000000008d6776 in compile_file (argc=16, argv=0x7fffffffda98) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/toplev.c:591 #20 do_compile (argc=16, argv=0x7fffffffda98) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/toplev.c:1874 #21 toplev_main (argc=16, argv=0x7fffffffda98) at /usr/portage/distfiles/svn-src/gcc/trunk/gcc/toplev.c:1937 #22 0x00007ffff6586bbd in __libc_start_main () from /lib/libc.so.6 #23 0x00000000004ef6b9 in _start () Tested revisions: r167723 - crash r167585 - crash r165699 - OK 4.5 r166509 - OK