https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91790
Bug ID: 91790
Summary: ICE: Segmentation fault (in
vr_values::vrp_visit_assignment_or_call), or ICE:
verify_ssa failed (error: definition in block 2
follows the use)
Product: gcc
Version: 10.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: ---
Target: powerpc-*-linux-gnu
Created attachment 46888
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=46888&action=edit
Testcase
g++-10.0.0-alpha20190915 snapshot (r275736) ICEs when compiling the attached
testcase, partially reduced from
libstdc++-v3/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc, w/
-mvsx -O3 for 32-bit BE powerpc:
w/ -fchecking:
% powerpc-e300c3-linux-gnu-g++-10.0.0-alpha20190915 -mvsx -O3 -fchecking -c
tp2khayx.cc
tp2khayx.cc: In function 'void bg()':
tp2khayx.cc:75:6: error: definition in block 2 follows the use
75 | void bg() {
| ^~
for SSA_NAME: _30 in statement:
vectp.75_391 = _30;
during GIMPLE pass: slp
tp2khayx.cc:75:6: internal compiler error: verify_ssa failed
0x123fdef verify_ssa(bool, bool)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/tree-ssa.c:1208
0xf2ed08 execute_function_todo
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/passes.c:1990
0xf2f41a execute_todo
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/passes.c:2037
w/ -fno-checking:
% powerpc-e300c3-linux-gnu-g++-10.0.0-alpha20190915 -mvsx -O3 -fno-checking -c
tp2khayx.cc
during GIMPLE pass: dom
tp2khayx.cc: In function 'void bg()':
tp2khayx.cc:75:6: internal compiler error: Segmentation fault
75 | void bg() {
| ^~
0x100d316 crash_signal
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/toplev.c:326
0x1352cae vr_values::vrp_visit_assignment_or_call(gimple*, tree_node**,
value_range*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/vr-values.c:2074
0x1352cae vr_values::vrp_visit_assignment_or_call(gimple*, tree_node**,
value_range*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/vr-values.c:2054
0x176ec25 evrp_range_analyzer::record_ranges_from_stmt(gimple*, bool)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/gimple-ssa-evrp-analyze.c:307
0x1139cf3 dom_opt_dom_walker::before_dom_children(basic_block_def*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/tree-ssa-dom.c:1503
0x174b8a7 dom_walker::walk(basic_block_def*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/domwalk.c:309
0x113764d execute
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20190915/work/gcc-10-20190915/gcc/tree-ssa-dom.c:724