[Bug tree-optimization/88427] New: [9 Regression] ICE: tree check: expected integer_cst, have plus_expr in get_len, at tree.h:5617

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Mon Dec 10 02:26:00 GMT 2018


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

            Bug ID: 88427
           Summary: [9 Regression] ICE: tree check: expected integer_cst,
                    have plus_expr in get_len, at tree.h:5617
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gcc-9.0.0-alpha20181202 snapshot (r266729) ICEs when compiling the following
snippet w/ -O2 (-O3, -Ofast, -Os) -fno-tree-dce -fno-tree-fre:

void
uj (int eq, int s4)
{
  short int tm = 0;

  for (;;)
    if (eq == s4)
      {
        tm += !!s4;
        if (tm == s4)
          {
            eq += tm;
            for (;;)
              eq /= 0;
          }
      }
}

% gcc-9.0.0-alpha20181202 -O2 -fno-tree-dce -fno-tree-fre -w -c dr2mx6y0.c
during GIMPLE pass: vrp
dr2mx6y0.c: In function 'uj':
dr2mx6y0.c:2:1: internal compiler error: tree check: expected integer_cst, have
plus_expr in get_len, at tree.h:5617
    2 | uj (int eq, int s4)
      | ^~
0x6dd3f7 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.c:9757
0x7db2b9 tree_check(tree_node const*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.h:3410
0x7db2b9 wi::extended_tree<192>::get_len() const
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.h:5617
0x7db2b9 wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<192> >
const&)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/wide-int.h:964
0x7db2b9 wide_int_ref_storage<true,
false>::wide_int_ref_storage<generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/wide-int.h:1013
0x7db2b9 generic_wide_int<wide_int_ref_storage<true, false>
>::generic_wide_int<generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&, unsigned int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/wide-int.h:788
0x7db2b9 bool wi::lts_p<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/wide-int.h:1879
0x7db2b9 wi::binary_traits<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >,
wi::int_traits<generic_wide_int<wi::extended_tree<192> > >::precision_type,
wi::int_traits<generic_wide_int<wi::extended_tree<192> >
>::precision_type>::signed_predicate_result operator<
<generic_wide_int<wi::extended_tree<192> >,
generic_wide_int<wi::extended_tree<192> >
>(generic_wide_int<wi::extended_tree<192> > const&,
generic_wide_int<wi::extended_tree<192> > const&)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/wide-int.h:3227
0x7db2b9 tree_int_cst_lt(tree_node const*, tree_node const*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.h:5773
0xffcd56 vr_values::extract_range_from_phi_node(gphi*, value_range*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/vr-values.c:2870
0xf7e23b vrp_prop::extract_range_from_phi_node(gphi*, value_range*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-vrp.c:4303
0xf7e23b vrp_prop::visit_phi(gphi*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-vrp.c:6186
0xe92548 ssa_propagation_engine::simulate_stmt(gimple*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-ssa-propagate.c:226
0xe93b1d ssa_propagation_engine::ssa_propagate()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-ssa-propagate.c:813
0xf8f58a execute_vrp
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-vrp.c:6718


More information about the Gcc-bugs mailing list