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?

Reply via email to