https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107355
Bug ID: 107355 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: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Host: x86_64-pc-linux-gnu Created attachment 53754 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53754&action=edit reduced testcase Compiler output: $ x86_64-pc-linux-gnu-gcc -O2 -fno-guess-branch-probability -fsanitize=float-cast-overflow --param=max-jump-thread-duplication-stmts=240 testcase.c during GIMPLE pass: thread testcase.c: In function 'foo': testcase.c:4:1: internal compiler error: in lower_bound, at value-range.h:350 4 | foo (double d) | ^~~ 0xd14158 frange::lower_bound() const /repo/gcc-trunk/gcc/value-range.h:350 0xd14224 frange::lower_bound() const /repo/gcc-trunk/gcc/range-op-float.cc:283 0xd14224 foperator_abs::op1_range(frange&, tree_node*, frange const&, frange const&, relation_trio) const /repo/gcc-trunk/gcc/range-op-float.cc:1276 0x2545fe8 foperator_abs::op1_range(frange&, tree_node*, frange const&, frange const&, relation_trio) const /repo/gcc-trunk/gcc/range-op-float.cc:1261 0x2425897 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 0x2424553 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x2425913 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 0x2424553 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x2424251 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 0x2424b5e gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:677 0x2425913 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 0x2424553 gori_compute::compute_operand_range(vrange&, gimple*, vrange const&, tree_node*, fur_source&, value_relation*) /repo/gcc-trunk/gcc/gimple-range-gori.cc:692 0x24282a2 gori_compute::outgoing_edge_range_p(vrange&, edge_def*, tree_node*, range_query&) /repo/gcc-trunk/gcc/gimple-range-gori.cc:1373 0x1581235 path_range_query::compute_ranges_in_block(basic_block_def*) /repo/gcc-trunk/gcc/gimple-range-path.cc:454 0x15818e2 path_range_query::compute_ranges(bitmap_head const*) /repo/gcc-trunk/gcc/gimple-range-path.cc:622 0x16074a9 back_threader::find_taken_edge_cond(vec<basic_block_def*, va_heap, vl_ptr> const&, gcond*) /repo/gcc-trunk/gcc/tree-ssa-threadbackward.cc:333 0x1607662 back_threader::maybe_register_path(back_threader_profitability&) /repo/gcc-trunk/gcc/tree-ssa-threadbackward.cc:248 0x1607b18 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /repo/gcc-trunk/gcc/tree-ssa-threadbackward.cc:380 0x1607f6d back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /repo/gcc-trunk/gcc/tree-ssa-threadbackward.cc:488 0x1607f6d back_threader::find_paths_to_names(basic_block_def*, bitmap_head*, unsigned int, back_threader_profitability&) /repo/gcc-trunk/gcc/tree-ssa-threadbackward.cc:488 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. $ x86_64-pc-linux-gnu-gcc -v Using built-in specs. COLLECT_GCC=/repo/gcc-trunk/binary-latest-amd64/bin/x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-r13-3440-20221021201743-g4cfdaeb2755-checking-yes-rtl-df-extra-nobootstrap-amd64/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++ --enable-valgrind-annotations --disable-nls --enable-checking=yes,rtl,df,extra --disable-bootstrap --with-cloog --with-ppl --with-isl --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --with-ld=/usr/bin/x86_64-pc-linux-gnu-ld --with-as=/usr/bin/x86_64-pc-linux-gnu-as --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-r13-3440-20221021201743-g4cfdaeb2755-checking-yes-rtl-df-extra-nobootstrap-amd64 Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 13.0.0 20221021 (experimental) (GCC)