https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86637

--- Comment #6 from Arseny Solokha <asolokha at gmx dot com> ---
Created attachment 45157
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=45157&action=edit
Testcase #5

% x86_64-pc-linux-gnu-gcc-9.0.0-alpha20181202 -mavx2 -O2
-fsave-optimization-record -ftree-parallelize-loops=2 -ftree-slp-vectorize -g
-w -c pa97jedl.c
during GIMPLE pass: parloops
pa97jedl.c: In function 'n':
pa97jedl.c:49:1: internal compiler error: tree check: expected block, have
<invalid tree code> in inlining_chain_to_json, at optinfo-emit-json.cc:285
   49 | n(__int128 u128_8, uint8_t uc_9) {
      | ^
0x6dd3f7 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.c:9757
0x65f661 tree_check(tree_node*, char const*, int, char const*, tree_code)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree.h:3154
0x65f661 optrecord_json_writer::inlining_chain_to_json(unsigned int)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/optinfo-emit-json.cc:285
0xc14b1a optrecord_json_writer::optinfo_to_json(optinfo const*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/optinfo-emit-json.cc:419
0xc14b48 optrecord_json_writer::add_record(optinfo const*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/optinfo-emit-json.cc:141
0x94bc42 dump_context::emit_optinfo(optinfo const*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/dumpfile.c:1207
0x94bc42 dump_context::end_any_optinfo()
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/dumpfile.c:1193
0x94e33f dump_context::begin_scope(char const*, dump_user_location_t const&,
dump_impl_location_t const&)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/dumpfile.c:1132
0xf47943 auto_dump_scope::auto_dump_scope(char const*, dump_user_location_t
const&, dump_impl_location_t const&)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/dumpfile.h:609
0xf47943 vect_analyze_loop_form_1(loop*, gcond**, tree_node**, tree_node**,
tree_node**, gcond**)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-vect-loop.c:1156
0xf48134 vect_analyze_loop_form(loop*, vec_info_shared*)
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-vect-loop.c:1312
0xdb983f gather_scalar_reductions
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-parloops.c:2599
0xdb983f try_create_reduction_list
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-parloops.c:2784
0xdb983f parallelize_loops
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-parloops.c:3391
0xdbb4ad execute
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-parloops.c:3505
0xdbb4ad execute
       
/var/tmp/portage/sys-devel/gcc-9.0.0_alpha20181202/work/gcc-9-20181202/gcc/tree-parloops.c:3484

parloops again.

This one is weird. Why does it stop ICEing when I simply change indentation or
remove obviously superfluous semicolons or parens?

Reply via email to