https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105163
Bug ID: 105163 Summary: ICE: SSA corruption 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: --- Affects versions down to at least r5, at -O1+ : (follow-up of pr79411.c) $ cat z1.c typedef struct __jmp_buf_tag { char buf[1024]; } jmp_buf[1]; extern int setjmp (jmp_buf); extern int bar (unsigned int *); extern jmp_buf *baz (void); struct C { int c1; }; void foo (struct C *x, int *z, int e) { unsigned int d = 0; long f; setjmp (*baz()); f = 1 + ~d; d = 8; if ((!0) && !e && bar(z)) *z = 1 + f; } $ gcc-12-20220403 -c z1.c -O2 Unable to coalesce ssa_names 5 and 17 which are marked as MUST COALESCE. d_5(ab) and d_17(ab) during RTL pass: expand z1.c: In function 'foo': z1.c:6:6: internal compiler error: SSA corruption 6 | void foo (struct C *x, int *z, int e) | ^~~ 0xd18bc8 fail_abnormal_edge_coalesce ../../gcc/tree-ssa-coalesce.cc:1003 0xd18bc8 coalesce_partitions ../../gcc/tree-ssa-coalesce.cc:1425 0xd18bc8 coalesce_ssa_name(_var_map*) ../../gcc/tree-ssa-coalesce.cc:1755 0xcc26a0 remove_ssa_form ../../gcc/tree-outof-ssa.cc:1065 0xcc26a0 rewrite_out_of_ssa(ssaexpand*) ../../gcc/tree-outof-ssa.cc:1323 0x7cfa73 execute ../../gcc/cfgexpand.cc:6585