This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/86637] [9 Regression] ICE: tree check: expected block, have <invalid tree code> in inlining_chain_to_json, at optinfo-emit-json.cc:293
- From: "asolokha at gmx dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 06 Aug 2018 08:43:02 +0000
- Subject: [Bug tree-optimization/86637] [9 Regression] ICE: tree check: expected block, have <invalid tree code> in inlining_chain_to_json, at optinfo-emit-json.cc:293
- Auto-submitted: auto-generated
- References: <bug-86637-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86637
--- Comment #2 from Arseny Solokha <asolokha at gmx dot com> ---
Created attachment 44506
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44506&action=edit
Testcase #2
Another testcase for this PR w/ different backtrace. W/ this testcase
optrecord_json_writer::inlining_chain_to_json() is called from the parloops
pass.
% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20180729 -Os -floop-parallelize-all
-fsave-optimization-record -ftree-parallelize-loops=2 -ftree-slp-vectorize -c
dsaczzfr.c
during GIMPLE pass: parloops
dsaczzfr.c: In function 'im':
dsaczzfr.c:88:1: internal compiler error: tree check: expected block, have
<invalid tree code> in inlining_chain_to_json, at optinfo-emit-json.cc:295
im (uint8_t kt)
^~
0x55bf58 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree.c:9351
0xb0eb63 tree_check(tree_node*, char const*, int, char const*, tree_code)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree.h:3114
0xb0eb63 optrecord_json_writer::inlining_chain_to_json(unsigned int)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/optinfo-emit-json.cc:295
0xb0f795 optrecord_json_writer::optinfo_to_json(optinfo const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/optinfo-emit-json.cc:435
0xb0f9b8 optrecord_json_writer::add_record(optinfo const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/optinfo-emit-json.cc:154
0x7aaca1 dump_context::begin_scope(char const*, dump_location_t const&)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/dumpfile.c:785
0xee3e2a auto_dump_scope::auto_dump_scope(char const*, dump_location_t)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/dumpfile.h:513
0xee3e2a vect_analyze_loop_form_1(loop*, gcond**, tree_node**, tree_node**,
tree_node**, gcond**)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-vect-loop.c:1167
0xee4914 vect_analyze_loop_form(loop*, vec_info_shared*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-vect-loop.c:1359
0xd01954 gather_scalar_reductions
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-parloops.c:2601
0xd0741a try_create_reduction_list
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-parloops.c:2785
0xd0741a parallelize_loops
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-parloops.c:3392
0xd091d1 execute
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180729/work/gcc-9-20180729/gcc/tree-parloops.c:3503
(as of 263055)
The ICE w/ this exact backtrace is not powerpc-specific. It also happens on
x86_64, but relevant testcases seem to be resistant to reduction.