https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88444
Bug ID: 88444 Summary: [9 Regression] ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:468; or ICE: tree check: expected ssa_name, have integer_cst in get_value_range, at vr-values.c:84 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-checking, 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: --- 1. gcc-9.0.0-alpha20181209 snapshot (r266934) ICEs when compiling the following snippet w/ -O1 (-O2, -O3, -Ofast): int ve; int br (int, int); int nd (long int xt) { return !!xt ? xt : 1; } void yo (int ub) { ve += br (0, 0) + nd (ub); } void fy (void) { int sb = 0; ve = ve || br (0, 0); ve = ve || br (0, 0); ve = ve || br (0, 0); yo (sb); } % gcc-9.0.0-alpha20181209 -O1 -finline-functions -finline-small-functions -ftree-vrp -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -c cki1gbbg.c during GIMPLE pass: vrp cki1gbbg.c: In function 'fy': cki1gbbg.c:19:1: internal compiler error: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:468 19 | fy (void) | ^~ 0x6dceef tree_check_failed(tree_node const*, char const*, int, char const*, ...) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree.c:9757 0x6d9c18 tree_check(tree_node*, char const*, int, char const*, tree_code) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree.h:3157 0x6d9c18 live_on_edge /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:468 0x6d9c18 live_on_edge /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:465 0xf7b53f finish_register_edge_assert_for /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:3510 0xf8a927 find_conditional_asserts /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:3554 0xf8a927 find_assert_locations_1 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:3823 0xf8ea12 find_assert_locations /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:3984 0xf8ea12 insert_range_assertions /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:4308 0xf8ea12 execute_vrp /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree-vrp.c:6758 2. Replacing -O1 w/ -Og yield the following: % gcc-9.0.0-alpha20181209 -Og -finline-functions -finline-small-functions -ftree-vrp -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -c cki1gbbg.c during GIMPLE pass: printf-return-value cki1gbbg.c: In function 'fy': cki1gbbg.c:19:1: internal compiler error: tree check: expected ssa_name, have integer_cst in get_value_range, at vr-values.c:84 19 | fy (void) | ^~ 0x6dceef tree_check_failed(tree_node const*, char const*, int, char const*, ...) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree.c:9757 0x6f4cd1 tree_check(tree_node const*, char const*, int, char const*, tree_code) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/tree.h:3413 0x6f4cd1 vr_values::get_value_range(tree_node const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/vr-values.c:84 0x14f9bd6 evrp_range_analyzer::get_value_range(tree_node const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-evrp-analyze.h:41 0x14f9bd6 evrp_range_analyzer::try_find_new_range(tree_node*, tree_node*, tree_code, tree_node*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-evrp-analyze.c:87 0x14fa9d3 evrp_range_analyzer::record_ranges_from_incoming_edge(basic_block_def*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-evrp-analyze.c:193 0x14faf4d evrp_range_analyzer::enter(basic_block_def*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-evrp-analyze.c:76 0x151a7eb before_dom_children /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-sprintf.c:4157 0x14d78d2 dom_walker::walk(basic_block_def*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/domwalk.c:353 0x1515acd execute /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181209/work/gcc-9-20181209/gcc/gimple-ssa-sprintf.c:4192