https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101897
Bug ID: 101897 Summary: ICE Segmentation fault since r12-2429-g62acc72a957b5614 Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: rdsandiford at googlemail dot com Target Milestone: --- The following crashes: $ gfortran /home/marxin/Programming/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_eoshift.f90 -fno-tree-ch -Ofast -fno-tree-vrp --param=unroll-jam-min-percent=0 --param=max-completely-peel-times=0 during GIMPLE pass: unrolljam /home/marxin/Programming/gcc/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_eoshift.f90:2:25: 2 | program intrinsic_eoshift | ^ internal compiler error: Segmentation fault 0xf58f5a crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:328 0x7ffff786239f ??? ../sysdeps/unix/sysv/linux/sigaction.c:10 0x10c9b1c tree_transform_and_unroll_loop(loop*, unsigned int, edge_def*, tree_niter_desc*, void (*)(loop*, void*), void*) /home/marxin/Programming/gcc/gcc/tree-ssa-loop-manip.c:1425 0x1a1530b tree_loop_unroll_and_jam /home/marxin/Programming/gcc/gcc/gimple-loop-jam.c:590 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. ... valgrind reports: ==8284== Invalid write of size 4 ==8284== at 0x13A503E: tree_transform_and_unroll_loop(loop*, unsigned int, edge_def*, tree_niter_desc*, void (*)(loop*, void*), void*) (tree-ssa-loop-manip.c:1425) ==8284== by 0x13A528E: tree_unroll_loop(loop*, unsigned int, edge_def*, tree_niter_desc*) (tree-ssa-loop-manip.c:1466) ==8284== by 0x223B05B: tree_loop_unroll_and_jam() (gimple-loop-jam.c:590) ==8284== by 0x10560F9: execute_one_pass(opt_pass*) (passes.c:2567) ==8284== by 0x10569F2: execute_pass_list_1(opt_pass*) (passes.c:2656) ==8284== by 0x1056A04: execute_pass_list_1(opt_pass*) (passes.c:2657) ==8284== by 0x1056A04: execute_pass_list_1(opt_pass*) (passes.c:2657) ==8284== by 0x1056A35: execute_pass_list(function*, opt_pass*) (passes.c:2667) ==8284== by 0xC79A94: expand (cgraphunit.c:1828) ==8284== by 0xC79A94: cgraph_node::expand() (cgraphunit.c:1781) ==8284== by 0xC7B0BE: expand_all_functions (cgraphunit.c:1992) ==8284== by 0xC7B0BE: compile (cgraphunit.c:2356) ==8284== by 0xC7B0BE: symbol_table::compile() (cgraphunit.c:2267) ==8284== by 0xC7DD57: symbol_table::finalize_compilation_unit() (cgraphunit.c:2537) ==8284== by 0x118E7DC: compile_file() (toplev.c:483) ==8284== Address 0x2c is not stack'd, malloc'd or (recently) free'd ==8284== during GIMPLE pass: unrolljam