https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84956
Bug ID: 84956 Summary: ICE in replace_block_by, at tree-ssa-tail-merge.c:1546 Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Derived from gcc/testsuite/gcc.dg/torture/pr82264.c ICEs at -O[s23] on x86_64/linux, gcc-4.8 compiles. $ cat z1.c char a; int c; unsigned b (); unsigned setjmp () { } static void d () { if (b ()) c = 3; } void e () { d (); a && ({ setjmp (); }); a && ({ setjmp (); }); a && ({ setjmp (); }); } $ gcc-4.8 -c z1.c -O2 $ gcc-8-20180318 -c z1.c -O1 $ $ gcc-8-20180318 -c z1.c -O2 during GIMPLE pass: pre z1.c: In function 'e': z1.c:15:1: internal compiler error: in replace_block_by, at tree-ssa-tail-merge.c:1546 e () ^ 0xc90c30 replace_block_by ../../gcc/tree-ssa-tail-merge.c:1546 0xc90c30 apply_clusters ../../gcc/tree-ss a-tail-merge.c:1637 0xc90c30 tail_merge_optimize(unsigned int) ../../gcc/tree-ssa-tail-merge.c:1755 0xc40997 execute ../../gcc/tree-ssa-pre.c:4209