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