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

            Bug ID: 95679
           Summary: [11 Regression] ICE: tree check: expected class
                    'type', have 'exceptional' (error_mark) in
                    type_has_mode_precision_p, at tree.h:6231
           Product: gcc
           Version: 11.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-11.0.0-alpha20200614 snapshot (g:3de12cc548c7a37bb68ea10937709dc6385a3b2b)
ICEs when compiling the following testcase w/ -Os --param
scev-max-expr-size=15:

int ex;

void
u1 (int hu, int nd)
{
  while (hu != 0)
    if (nd == hu || nd == ex)
      while (hu < u1)
        ++hu;
}

% gcc-11.0.0 -Os --param scev-max-expr-size=15 -w -c nnbsry0z.c
during GIMPLE pass: cunroll
nnbsry0z.c: In function 'u1':
nnbsry0z.c:4:1: internal compiler error: tree check: expected class 'type',
have 'exceptional' (error_mark) in type_has_mode_precision_p, at tree.h:6231
    4 | u1 (int hu, int nd)
      | ^~
0x70460e tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree.c:9735
0x754802 tree_class_check(tree_node const*, tree_code_class, char const*, int,
char const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree.h:3675
0x754802 type_has_mode_precision_p(tree_node const*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree.h:6231
0x754802 generic_simplify_218
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/build/gcc/generic-match.c:10515
0x134447e generic_simplify_CONVERT_EXPR
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/build/gcc/generic-match.c:19701
0xa65d30 fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/fold-const.c:8612
0xa67418 fold_build1_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/fold-const.c:13067
0xa65ecb fold_unary_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/fold-const.c:8628
0xa67418 fold_build1_loc(unsigned int, tree_code, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/fold-const.c:13067
0x17bc40d chrec_convert_1
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-chrec.c:1482
0x17bf9e1 chrec_convert(tree_node*, tree_node*, gimple*, bool, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-chrec.c:1536
0x17bf9e1 chrec_convert_rhs(tree_node*, tree_node*, gimple*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-chrec.c:1406
0x17bf9e1 chrec_apply(unsigned int, tree_node*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-chrec.c:622
0xe8552a compute_overall_effect_of_inner_loop(loop*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:471
0xe8552a compute_overall_effect_of_inner_loop(loop*, tree_node*)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:447
0xe85b16 follow_ssa_edge_inner_loop_phi
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:1114
0xe85b16 follow_ssa_edge_expr
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:1183
0xe85c2e follow_ssa_edge_in_condition_phi_branch
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:1011
0xe85c2e follow_ssa_edge_in_condition_phi
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:1037
0xe85c2e follow_ssa_edge_expr
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200614/work/gcc-11-20200614/gcc/tree-scalar-evolution.c:1165

Reply via email to