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

            Bug ID: 105165
           Summary: [11/12 Regression] ICE in
                    gimple_redirect_edge_and_branch, at tree-cfg.cc:6136
           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: ---

Started between 20201108 and 20201115, at -O1+ :
(derived from pr100329.c)


$ cat z1.c
unsigned int _Complex a0;
unsigned int _Complex
foo (unsigned int _Complex a1, unsigned int _Complex a2)
{
  unsigned int _Complex x;
  asm goto ("" : "=r" (x) : : : lab);
  a0 = x;
 lab:
  return x + a1 + a2 + 1;
}


$ gcc-12-20220403 -c z1.c -O2
during GIMPLE pass: pre
z1.c: In function 'foo':
z1.c:3:1: internal compiler error: in gimple_redirect_edge_and_branch, at
tree-cfg.cc:6136
    3 | foo (unsigned int _Complex a1, unsigned int _Complex a2)
      | ^~~
0xc611c5 gimple_redirect_edge_and_branch
        ../../gcc/tree-cfg.cc:6136
0x7d3139 redirect_edge_and_branch(edge_def*, basic_block_def*)
        ../../gcc/cfghooks.cc:388
0xc593b8 gimple_split_edge
        ../../gcc/tree-cfg.cc:2983
0x7d37c5 split_edge(edge_def*)
        ../../gcc/cfghooks.cc:668
0xc61f67 split_critical_edges(bool)
        ../../gcc/tree-cfg.cc:9172
0xda6ab1 split_edges_for_insertion()
        ../../gcc/tree-cfg.h:130
0xda6ab1 execute
        ../../gcc/tree-ssa-pre.cc:4402

Reply via email to