https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107570
Bug ID: 107570 Summary: [13 Regression] ICE: Segmentation fault (in instantiate_scev_name/gimple_bb) Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gcc 13.0.0 20221106 snapshot (g:c56826d0f3b143a9cb64ee263707046f8073c1b6) ICEs when compiling the following testcase w/ -Os: long int n; void foo (int *p, int x) { for (;;) { for (*p = 0; *p < 1; ++*p) { n += *p < 0; if (n < x) { while (x < 1) ++x; __builtin_unreachable (); } } p = &x; } } % gcc-13 -Os -c dpim0i6y.c during GIMPLE pass: vrp dpim0i6y.c: In function 'foo': dpim0i6y.c:4:1: internal compiler error: Segmentation fault 4 | foo (int *p, int x) | ^~~ 0xf0e7af crash_signal /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/toplev.cc:314 0xff9e27 gimple_bb /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple.h:1904 0xff9e27 instantiate_scev_name /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.cc:2270 0xff9e27 instantiate_scev_r /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.cc:2644 0xff9cec instantiate_scev_poly /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.cc:2424 0xff9cec instantiate_scev_r /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.cc:2649 0xffa8c2 instantiate_scev(edge_def*, loop*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.cc:2726 0x129350a instantiate_parameters /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-scalar-evolution.h:63 0x129350a bounds_of_var_in_loop(tree_node**, tree_node**, range_query*, loop*, gimple*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/vr-values.cc:1672 0x1d78ff3 fold_using_range::range_of_ssa_name_with_loop_info(vrange&, tree_node*, loop*, gphi*, fur_source&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range-fold.cc:957 0x1d79bab fold_using_range::range_of_phi(vrange&, gphi*, fur_source&) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range-fold.cc:820 0x1d7c4d8 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range-fold.cc:491 0x1d6e183 gimple_ranger::fold_range_internal(vrange&, gimple*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range.cc:257 0x1d6e183 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range.cc:318 0x1d6cab7 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/gimple-range.cc:153 0x11f2436 remove_unreachable::remove_and_update_globals(bool) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-vrp.cc:151 0x11f66ba remove_unreachable::remove_and_update_globals(bool) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-vrp.cc:4536 0x11f66ba execute_ranger_vrp(function*, bool, bool) /var/tmp/portage/sys-devel/gcc-13.0.0_p20221106/work/gcc-13-20221106/gcc/tree-vrp.cc:4536