https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112827
Bug ID: 112827 Summary: ICE on valid code at -O1 on x86_64-linux-gnu: Segmentation fault Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: zhendong.su at inf dot ethz.ch Target Milestone: --- This appears to be a recent regression as it does not reproduce with 13.2. Compiler Explorer: https://godbolt.org/z/4EhdjPE6o [507] % gcctk -v Using built-in specs. COLLECT_GCC=gcctk COLLECT_LTO_WRAPPER=/local/home/suz/suz-local/software/local/gcc-trunk/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-trunk/configure --disable-bootstrap --enable-checking=yes --prefix=/local/suz-local/software/local/gcc-trunk --enable-sanitizers --enable-languages=c,c++ --disable-werror --enable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 14.0.0 20231202 (experimental) (GCC) [508] % [508] % gcctk -O1 small.c during GIMPLE pass: sccp small.c: In function ‘main’: small.c:2:5: internal compiler error: Segmentation fault 2 | int main() { | ^~~~ 0x105e273 crash_signal ../../gcc-trunk/gcc/toplev.cc:316 0x1149492 gimple_bb(gimple const*) ../../gcc-trunk/gcc/gimple.h:1908 0x1149492 instantiate_scev_name ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2263 0x1149492 instantiate_scev_r ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2637 0x1149dee instantiate_scev(edge_def*, loop*, tree_node*) ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2719 0x114bae9 instantiate_parameters(loop*, tree_node*) ../../gcc-trunk/gcc/tree-scalar-evolution.h:64 0x114bae9 simplify_peeled_chrec ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1344 0x11488a6 analyze_evolution_in_loop ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1455 0x11488a6 interpret_loop_phi ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1587 0x11488a6 analyze_scalar_evolution_1 ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1975 0x114849a analyze_scalar_evolution_1 ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1958 0x1148e24 analyze_scalar_evolution(loop*, tree_node*) ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2039 0x11483ee interpret_condition_phi ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1611 0x11483ee analyze_scalar_evolution_1 ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1977 0x1148e24 analyze_scalar_evolution(loop*, tree_node*) ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2039 0x114abd2 interpret_rhs_expr ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1641 0x1148579 interpret_gimple_assign ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1919 0x1148579 analyze_scalar_evolution_1 ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1970 0x1148e24 analyze_scalar_evolution(loop*, tree_node*) ../../gcc-trunk/gcc/tree-scalar-evolution.cc:2039 0x114abd2 interpret_rhs_expr ../../gcc-trunk/gcc/tree-scalar-evolution.cc:1641 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. [509] % [509] % cat small.c int a, b, c, d, e; int main() { for (; c; c++) { for (a = 0; a < 2; a++) ; for (; b; b++) { e = d; d = a; } } return 0; }