I tried the last (gcc-4.2-20060408) snapshot. When I compile the preprocessed source t.ii the compiler segfaults. /usr/local/gcc42h/bin/g++42h -O3 -ftree-loop-linear -S t.ii
g++42h -v Using built-in specs. Target: x86_64-unknown-linux-gnu Configured with: ../gcc-4.2-20060408/configure --prefix=/usr/local/gcc42h --program-suffix=42h --with-arch=opteron --enable-languages=c,c++ --enable-__cxa_atexit --disable-nls --enable-threads=posix --disable-multilib --enable-checking Thread model: posix gcc version 4.2.0 20060408 (experimental) using gdb I got this call stack: #0 is_gimple_min_invariant (t=0x0) at ../../gcc-4.2-20060408/gcc/tree-gimple.c:172 #1 0x00000000005df0d8 in expr_invariant_in_loop_p (loop=0x1315790, expr=0x0) at ../../gcc-4.2-20060408/gcc/tree-ssa-loop-ivopts.c:1303 #2 0x00000000005df15e in expr_invariant_in_loop_p (loop=0x1315790, expr=0x2a99c12690) at ../../gcc-4.2-20060408/gcc/tree-ssa-loop-ivopts.c:1321 #3 0x00000000005df15e in expr_invariant_in_loop_p (loop=0x1315790, expr=0x2a99c12620) at ../../gcc-4.2-20060408/gcc/tree-ssa-loop-ivopts.c:1321 #4 0x00000000005df15e in expr_invariant_in_loop_p (loop=0x1315790, expr=0x2a9ba1b300) at ../../gcc-4.2-20060408/gcc/tree-ssa-loop-ivopts.c:1321 #5 0x0000000000989e65 in can_put_in_inner_loop (inner=0x1315790, stmt=0x2a9e90c780) at ../../gcc-4.2-20060408/gcc/lambda-code.c:2175 #6 0x000000000098b3d8 in can_convert_to_perfect_nest (loop=0x13156d0, loopivs=0x11eced0) at ../../gcc-4.2-20060408/gcc/lambda-code.c:2268 #7 0x000000000098b7d6 in perfect_nestify (loops=0xed7470, loop=0x13156d0, lbounds=0x12a8310, ubounds=0x12c5f20, steps=0x12b9760, loopivs=0x11eced0) at ../../gcc-4.2-20060408/gcc/lambda-code.c:2362 #8 0x000000000098d276 in gcc_loopnest_to_lambda_loopnest (currloops=0xed7470, loop_nest=0x13156d0, inductionvars=0x7fbfffe258, invariants=0x7fbfffe250, need_perfect_nest=1 '\001') at ../../gcc-4.2-20060408/gcc/lambda-code.c:1494 #9 0x0000000000889277 in linear_transform_loops (loops=0xed7470) at ../../gcc-4.2-20060408/gcc/tree-loop-linear.c:322 #10 0x00000000005b7345 in tree_linear_transform () at ../../gcc-4.2-20060408/gcc/tree-ssa-loop.c:228 #11 0x00000000008843bb in execute_one_pass (pass=0xc5f660) at ../../gcc-4.2-20060408/gcc/passes.c:863 #12 0x000000000088452c in execute_pass_list (pass=0xc5f660) at ../../gcc-4.2-20060408/gcc/passes.c:910 #13 0x000000000088453e in execute_pass_list (pass=0xc5f480) at ../../gcc-4.2-20060408/gcc/passes.c:911 #14 0x000000000088453e in execute_pass_list (pass=0xc5eac0) at ../../gcc-4.2-20060408/gcc/passes.c:911 #15 0x000000000055c047 in tree_rest_of_compilation (fndecl=0x2a966e3000) at ../../gcc-4.2-20060408/gcc/tree-optimize.c:418 #16 0x00000000004d2aa8 in expand_body (fn=0x2a966e3000) at ../../gcc-4.2-20060408/gcc/cp/semantics.c:3012 #17 0x00000000008d34c6 in cgraph_expand_function (node=0x2a9b2596c0) at ../../gcc-4.2-20060408/gcc/cgraphunit.c:1102 #18 0x00000000008d5bbe in cgraph_optimize () at ../../gcc-4.2-20060408/gcc/cgraphunit.c:1167 #19 0x000000000047f635 in cp_finish_file () at ../../gcc-4.2-20060408/gcc/cp/decl2.c:3147 #20 0x000000000053140a in c_common_parse_file (set_yydebug=Variable "set_yydebug" is not available. ) at ../../gcc-4.2-20060408/gcc/c-opts.c:1165 #21 0x0000000000855ce8 in toplev_main (argc=Variable "argc" is not available. I tried to delta-debug but after removing the preprocessor comments I got: internal compiler error: verify_cgraph_node failed So I decided to attach the original preprocessed source. Michael Cieslinski -- Summary: ICE with -O3 -ftree-loop-linear Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: micis at gmx dot de GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27105