https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106621
Bug ID: 106621 Summary: [13 Regression] ICE in irange_set, at value-range.cc:619 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: --- Target: aarch64-linux-gnu gcc 13.0.0 20220814 snapshot (g:fe4dc4f553d8639b0ce3465e5e6dcf61c1ae9752) ICEs when compiling the following testcase w/ -mcpu=neoverse-v1 -O2 -fvect-cost-model=dynamic -fno-tree-scev-cprop: int m, n; void foo (unsigned int x, short int y) { if (m) for (;;) { ++m; while (m < 1) { n += m + x; ++m; } } for (;;) if (y) { ++x; if (x) for (y = 0; y < 75; y += 2) { } } } % aarch64-linux-gnu-gcc-13.0.0 -mcpu=neoverse-v1 -O2 -fvect-cost-model=dynamic -fno-tree-scev-cprop -c k0jfume7.c during GIMPLE pass: vrp k0jfume7.c: In function 'foo': k0jfume7.c:4:1: internal compiler error: in irange_set, at value-range.cc:619 4 | foo (unsigned int x, short int y) | ^~~ 0x7e41ce irange::irange_set(tree_node*, tree_node*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/value-range.cc:619 0x1b1d97d fold_using_range::range_of_ssa_name_with_loop_info(vrange&, tree_node*, loop*, gphi*, fur_source&) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range-fold.cc:1381 0x1b1e18e fold_using_range::range_of_phi(vrange&, gphi*, fur_source&) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range-fold.cc:863 0x1b205c8 fold_using_range::fold_stmt(vrange&, gimple*, fur_source&, tree_node*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range-fold.cc:557 0x1b12889 gimple_ranger::fold_range_internal(vrange&, gimple*, tree_node*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range.cc:258 0x1b12889 gimple_ranger::range_of_stmt(vrange&, gimple*, tree_node*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range.cc:319 0x1b12bea gimple_ranger::register_inferred_ranges(gimple*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/gimple-range.cc:472 0x12122e0 rvrp_folder::pre_fold_bb(basic_block_def*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/tree-vrp.cc:4306 0x1100e82 substitute_and_fold_dom_walker::before_dom_children(basic_block_def*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/tree-ssa-propagate.cc:758 0x1adcbc7 dom_walker::walk(basic_block_def*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/domwalk.cc:311 0x10ffbf5 substitute_and_fold_engine::substitute_and_fold(basic_block_def*) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/tree-ssa-propagate.cc:987 0x12078c0 execute_ranger_vrp(function*, bool) /var/tmp/portage/cross-aarch64-linux-gnu/gcc-13.0.0_p20220814/work/gcc-13-20220814/gcc/tree-vrp.cc:4349