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

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
Maybe a bit different backtrace:

$ cat trigger.i
typedef struct {
  _Bool trig_insert_before_row;
  _Bool trig_insert_after_row;
  _Bool trig_insert_instead_row;
  _Bool trig_insert_before_statement;
  _Bool trig_insert_after_statement;
  _Bool trig_update_before_row;
  _Bool trig_update_after_row;
  _Bool trig_update_instead_row;
  _Bool trig_update_before_statement;
  _Bool trig_update_after_statement;
  _Bool trig_delete_before_row;
  _Bool trig_delete_after_row;
  _Bool trig_delete_instead_row;
  _Bool trig_delete_before_statement;
  _Bool trig_delete_after_statement;
  _Bool trig_truncate_before_statement;
} TriggerDesc;

void SetTriggerFlags();

void
RelationBuildTriggers() {
  int i;
  for (; i; i++)
    SetTriggerFlags();
}

void
SetTriggerFlags(TriggerDesc *trigdesc) {
  short tgtype;
  trigdesc->trig_insert_before_row |= trigdesc->trig_insert_after_row |=
      trigdesc->trig_insert_instead_row |= tgtype == 0;
  trigdesc->trig_insert_before_statement |=
      trigdesc->trig_insert_after_statement |=
      trigdesc->trig_update_before_row |= trigdesc->trig_update_after_row |=
      trigdesc->trig_update_instead_row |=
      trigdesc->trig_update_before_statement |=
      trigdesc->trig_update_after_statement |=
      trigdesc->trig_delete_before_row |= trigdesc->trig_delete_after_row |=
      trigdesc->trig_delete_instead_row |=
      trigdesc->trig_delete_before_statement |=
      trigdesc->trig_delete_after_statement |=
      trigdesc->trig_truncate_before_statement |= tgtype == 0;
}

$ gcc -O3 trigger.i  -c -fno-strict-aliasing
during GIMPLE pass: slp
trigger.i: In function ‘RelationBuildTriggers’:
trigger.i:23:1: internal compiler error: in operator[], at vec.h:880
   23 | RelationBuildTriggers() {
      | ^~~~~~~~~~~~~~~~~~~~~
0x732816 vec<edge_def*, va_gc, vl_embed>::operator[](unsigned int)
        /home/marxin/Programming/gcc/gcc/vec.h:880
0x733364 vec<tree_node*, va_heap, vl_embed>::operator[](unsigned int)
        /home/marxin/Programming/gcc/gcc/tree.h:3428
0x733364 vec<tree_node*, va_heap, vl_ptr>::operator[](unsigned int)
        /home/marxin/Programming/gcc/gcc/vec.h:1451
0x733364 vect_create_vectorized_demotion_stmts
        /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:4422
0x10245fb vectorizable_conversion
        /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:4993
0x10264d8 vect_transform_stmt(vec_info*, _stmt_vec_info*,
gimple_stmt_iterator*, _slp_tree*, _slp_instance*)
        /home/marxin/Programming/gcc/gcc/tree-vect-stmts.c:10776
0x105534c vect_schedule_slp_node
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5437
0x106071c vect_schedule_scc
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5599
0x106048f vect_schedule_scc
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5580
0x1060d07 vect_schedule_slp(vec_info*, vec<_slp_instance*, va_heap, vl_ptr>)
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:5715
0x106208c vect_slp_region
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4264
0x106208c vect_slp_bbs
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4374
0x1062e54 vect_slp_function(function*)
        /home/marxin/Programming/gcc/gcc/tree-vect-slp.c:4460
0x1064cc6 execute
        /home/marxin/Programming/gcc/gcc/tree-vectorizer.c:1437
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to