https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107989
Bug ID: 107989 Summary: [13 Regression] ICE: in lower_bound, at value-range.h:350 with -fsanitize=float-cast-overflow 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: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Target: aarch64-unknown-linux-gnu Created attachment 54027 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54027&action=edit reduced testcase Compiler output: $ aarch64-unknown-linux-gnu-gcc -O -fsanitize=float-cast-overflow testcase.c during GIMPLE pass: dom testcase.c: In function 'foo': testcase.c:8:1: internal compiler error: in lower_bound, at value-range.h:350 8 | foo (void) | ^~~ 0xa9c8bc frange::lower_bound() const /repo/gcc-trunk/gcc/value-range.h:350 0x1f18341 frange::lower_bound() const /repo/gcc-trunk/gcc/range-op-float.cc:2155 0x1f18341 foperator_mult::op1_range(frange&, tree_node*, frange const&, frange const&, relation_trio) const /repo/gcc-trunk/gcc/range-op-float.cc:2149 0x1df1b27 gori_compute::compute_operand1_range(vrange&, gimple_range_op_handler&, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:1095 0x1df0873 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x1df1ba3 gori_compute::compute_operand1_range(vrange&, gimple_range_op_handler&, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:1150 0x1df0873 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x1df0571 gori_compute::compute_logical_operands(vrange&, vrange&, gimple_range_op_handler&, irange const&, tree_node*, fur_source&, tree_node*, bool) /repo/gcc-trunk/gcc/gimple-range-gori.cc:935 0x1df0e6c gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:674 0x1df1ba3 gori_compute::compute_operand1_range(vrange&, gimple_range_op_handler&, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:1150 0x1df0873 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x1df4502 gori_compute::outgoing_edge_range_p(vrange&, edge_def*, tree_node*, range_query&) /repo/gcc-trunk/gcc/gimple-range-gori.cc:1373 0x1de4fdf ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*, ranger_cache::rfd_mode) /repo/gcc-trunk/gcc/gimple-range-cache.cc:1517 0x1de6c51 ranger_cache::range_from_dom(vrange&, tree_node*, basic_block_def*, ranger_cache::rfd_mode) /repo/gcc-trunk/gcc/gimple-range-cache.cc:1414 0x1de6c51 ranger_cache::fill_block_cache(tree_node*, basic_block_def*, basic_block_def*) /repo/gcc-trunk/gcc/gimple-range-cache.cc:1212 0x1de78c1 ranger_cache::block_range(vrange&, basic_block_def*, tree_node*, bool) /repo/gcc-trunk/gcc/gimple-range-cache.cc:1039 0x1dde5b1 gimple_ranger::range_on_entry(vrange&, basic_block_def*, tree_node*) /repo/gcc-trunk/gcc/gimple-range.cc:156 0x130dae0 path_range_query::internal_range_of_expr(vrange&, tree_node*, gimple*) /repo/gcc-trunk/gcc/gimple-range-path.cc:176 0x130db60 path_range_query::range_of_expr(vrange&, tree_node*, gimple*) /repo/gcc-trunk/gcc/gimple-range-path.cc:202 0x1debf1e fold_using_range::range_of_range_op(vrange&, gimple_range_op_handler&, fur_source&) /repo/gcc-trunk/gcc/gimple-range-fold.cc:558 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. $ aarch64-unknown-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-aarch64/bin/aarch64-unknown-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-4497-20221206065114-g769370f3e2e-checking-yes-rtl-df-extra-aarch64/bin/../libexec/gcc/aarch64-unknown-linux-gnu/13.0.0/lto-wrapper Target: aarch64-unknown-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --with-cloog --with-ppl --with-isl --with-sysroot=/usr/aarch64-unknown-linux-gnu --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=aarch64-unknown-linux-gnu --with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld --with-as=/usr/bin/aarch64-unknown-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r13-4497-20221206065114-g769370f3e2e-checking-yes-rtl-df-extra-aarch64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20221206 (experimental) (GCC)