https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106867

            Bug ID: 106867
           Summary: [13 Regression] ICE in set, at value-range.cc:372
           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 20220904 snapshot (g:20d30e737ad79dc36817e59f1676aa8bc0c6b325) ICEs
when compiling the following testcase, reduced from
gcc/testsuite/gcc.c-torture/execute/ieee/fp-cmp-4.c, w/ -O2 -fno-tree-fre:

double m;
int n;

void
foo (void)
{
  static double a[] = { 0.0 / 0.0, 0.0 };
  int i;

  for (i = 0; i < n; ++i)
    if (m >= a[i])
      __builtin_abort ();
}

% gcc-13.0.0 -O2 -fno-tree-fre -c tjdblerc.c
during GIMPLE pass: thread
tjdblerc.c: In function 'foo':
tjdblerc.c:5:1: internal compiler error: in set, at value-range.cc:372
    5 | foo (void)
      | ^~~
0x7b3cfd frange::set(tree_node*, tree_node*, value_range_kind)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/value-range.cc:372
0x1e4f973 build_le
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/range-op-float.cc:240
0x1e4f973 build_lt
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/range-op-float.cc:249
0x1e4f973 foperator_le::op2_range(frange&, tree_node*, irange const&, frange
const&, relation_kind_t) const
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/range-op-float.cc:660
0x1d32e51 gimple_range_calc_op2(vrange&, gimple const*, vrange const&, vrange
const&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-gori.cc:105
0x1d368ca gimple_range_calc_op2(vrange&, gimple const*, vrange const&, vrange
const&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-gori.cc:1143
0x1d368ca gori_compute::compute_operand2_range(vrange&, gimple*, vrange const&,
tree_node*, fur_source&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-gori.cc:1096
0x1d38718 gori_compute::outgoing_edge_range_p(vrange&, edge_def*, tree_node*,
range_query&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-gori.cc:1270
0x10a3455 path_range_query::compute_ranges_in_block(basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-path.cc:454
0x10a38a1 path_range_query::compute_ranges(bitmap_head const*)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/gimple-range-path.cc:622
0x112bdad back_threader::find_taken_edge_cond(vec<basic_block_def*, va_heap,
vl_ptr> const&, gcond*)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:333
0x112bfb2 back_threader::maybe_register_path(back_threader_profitability&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:248
0x112c4c8 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*,
unsigned int, back_threader_profitability&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:380
0x112ca44 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*,
unsigned int, back_threader_profitability&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:502
0x112ca44 back_threader::find_paths_to_names(basic_block_def*, bitmap_head*,
unsigned int, back_threader_profitability&)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:502
0x112d4bf back_threader::maybe_thread_block(basic_block_def*)
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:574
0x112d561 back_threader::thread_blocks()
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:1002
0x112d5d3 execute
       
/var/tmp/portage/sys-devel/gcc-13.0.0_p20220904/work/gcc-13-20220904/gcc/tree-ssa-threadbackward.cc:1104

Reply via email to