[Bug tree-optimization/88444] New: [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
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Tue Dec 11 02:50:00 GMT 2018
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
More information about the Gcc-bugs
mailing list