https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88553
Bug ID: 88553
Summary: [9 Regression] ICE: tree check: expected ssa_name,
have var_decl in SSA_VAL, at tree-ssa-sccvn.c:461
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Keywords: 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: ---
gcc-9.0.0-alpha20181111 snapshot (r266019) ICEs when compiling
gcc/testsuite/gcc.dg/gomp/pr81768-2.c at any optimization level and w/ -fopenmp
-ftree-loop-vectorize -fwrapv:
% gcc-9.0.0-alpha20181216 -O1 -fopenmp -ftree-loop-vectorize -fwrapv -c
gcc/testsuite/gcc.dg/gomp/pr81768-2.c
during GIMPLE pass: ifcvt
gcc/testsuite/gcc.dg/gomp/pr81768-2.c: In function 'foo._omp_fn.1':
gcc/testsuite/gcc.dg/gomp/pr81768-2.c:10:9: internal compiler error: tree
check: expected ssa_name, have var_decl in SSA_VAL, at tree-ssa-sccvn.c:462
10 | #pragma omp target parallel for schedule(static, 32) collapse(3)
| ^~~
0x6dd283 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.c:9757
0x6bddf3 tree_check(tree_node*, char const*, int, char const*, tree_code)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree.h:3157
0x6bddf3 SSA_VAL(tree_node*, bool*)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:462
0x6bddf3 vuse_ssa_val
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:480
0x6bddf3 vn_reference_lookup(tree_node*, tree_node*, vn_lookup_kind,
vn_reference_s**, bool)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:2626
0xeb9301 visit_reference_op_load
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:3979
0xeb9301 visit_stmt
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:4397
0xeba68d process_bb
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:6047
0xebbe1d do_rpo_vn
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:6654
0xebd008 do_rpo_vn(function*, edge_def*, bitmap_head*)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-ssa-sccvn.c:6743
0xd7af41 tree_if_conversion(loop*)
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-if-conv.c:3066
0xd7c626 execute
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-if-conv.c:3142
0xd7c626 execute
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181216/work/gcc-9-20181216/gcc/tree-if-conv.c:3130
It was initially reported in PR85594 comment 2, but that made little sense as
it's most likely an unrelated issue manifesting itself at a different level of
the compilation pipeline.