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.