https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86636
Bug ID: 86636 Summary: [9 Regression] ICE in json::string::string 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-alpha20180722 snapshot (r262923) ICEs when dumping vectorizer optimization info records for the following snippet: void n2 (int ih) { while (ih < 1) ++ih; } % gcc-9.0.0-alpha20180722 -O1 -fsave-optimization-record -ftree-loop-vectorize -ftree-parallelize-loops=2 -c jvaotmaq.c during GIMPLE pass: vect jvaotmaq.c: In function 'n2._loopfn.0': jvaotmaq.c:4:9: internal compiler error: Segmentation fault while (ih < 1) ^ 0xc967cf crash_signal /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/toplev.c:325 0x15d36dd xstrdup /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/libiberty/xstrdup.c:33 0xba6b9e json::string::string(char const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/json.h:137 0xba6b9e optrecord_json_writer::location_to_json(unsigned int) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/optinfo-emit-json.cc:206 0xba86c9 optrecord_json_writer::optinfo_to_json(optinfo const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/optinfo-emit-json.cc:387 0xba8888 optrecord_json_writer::add_record(optinfo const*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/optinfo-emit-json.cc:154 0x8f17b6 dump_context::end_any_optinfo() /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/dumpfile.c:830 0x8f1950 dump_context::begin_next_optinfo(dump_location_t const&) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/dumpfile.c:817 0x8f1d80 dump_context::dump_printf_loc_va(dump_flag, dump_location_t const&, char const*, __va_list_tag*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/dumpfile.c:696 0x8f2535 dump_printf_loc(dump_flag, dump_location_t const&, char const*, ...) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/dumpfile.c:925 0xeb52fa vect_mark_stmts_to_be_vectorized(_loop_vec_info*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/tree-vect-stmts.c:665 0xee5b07 vect_analyze_loop_2 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/tree-vect-loop.c:1898 0xee8b69 vect_analyze_loop(loop*, _loop_vec_info*, vec_info_shared*) /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/tree-vect-loop.c:2342 0xf026e8 try_vectorize_loop_1 /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/tree-vectorizer.c:705 0xf03529 vectorize_loops() /var/tmp/portage/sys-devel/gcc-9.0.0_alpha20180722/work/gcc-9-20180722/gcc/tree-vectorizer.c:917 BTW, is it worth adding a separate component and/or keyword to Bugzilla for optinfo-related issues?