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

            Bug ID: 105226
           Summary: [10/11/12 Regression] ICE in gimple_split_edge, at
                    tree-cfg.cc:2960
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Changed between 20190609 and 20190616, at -O3 or -Ofast :


$ cat z1.c
#include <setjmp.h>
struct longjmp_buf {
  jmp_buf buf;
};
void g ();
void f ()
{
  int i, n;
  long *a;
  long *args;
  struct longjmp_buf b;
  setjmp (b.buf);
  for (;;)
    {
      for (i = 0; i < n; i++)
        a[i] = args[i];
      g ();
    }
}


$ gcc-10-20190609 -c z1.c -Ofast
$ gcc-12-20220410 -c z1.c -O2
$
$ gcc-12-20220410 -c z1.c -Ofast
during GIMPLE pass: vect
z1.c: In function 'f':
z1.c:6:6: internal compiler error: in gimple_split_edge, at tree-cfg.cc:2960
    6 | void f ()
      |      ^
0xe53d86 gimple_split_edge
        ../../gcc/tree-cfg.cc:2960
0x89f16c split_edge(edge_def*)
        ../../gcc/cfghooks.cc:668
0x10eec7c vect_loop_versioning(_loop_vec_info*, gimple*)
        ../../gcc/tree-vect-loop-manip.cc:3636
0x10e4e01 vect_transform_loop(_loop_vec_info*, gimple*)
        ../../gcc/tree-vect-loop.cc:9691
0x111ec35 vect_transform_loops
        ../../gcc/tree-vectorizer.cc:1007
0x111f2e6 try_vectorize_loop_1
        ../../gcc/tree-vectorizer.cc:1136
0x111f2e6 try_vectorize_loop
        ../../gcc/tree-vectorizer.cc:1167
0x111f914 execute
        ../../gcc/tree-vectorizer.cc:1281

Reply via email to