https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81595
Bug ID: 81595 Summary: [8 Regression] ICE: verify_flow_info failed (error: multiple hot/cold transitions found) Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: x86_64-pc-linux-gnu gcc-8.0.0-alpha20170723 snapshot ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast): void lo (int *bo, int *og, int *cv, int nk, int ac) { while (nk != 0) { if (*bo != 0) { int he = 1; a6: if (*og != 0) { while (he < 2) { he = 0; bo = (int *)&bo; qa: ++he; } while (*cv != 0) { } } he /= 0; } else { *cv /= (*cv != 0) ? 2 : 0; while (ac < 1) { *og = 0; if (ac != 0) goto a6; ++ac; } goto qa; } } } % x86_64-pc-linux-gnu-gcc-8.0.0-alpha20170723 -O2 -w -c cdcoibzd.c cdcoibzd.c: In function 'lo': cdcoibzd.c:39:1: error: multiple hot/cold transitions found (bb 11) } ^ cdcoibzd.c:39:1: error: multiple hot/cold transitions found (bb 12) during RTL pass: bbro cdcoibzd.c:39:1: internal compiler error: verify_flow_info failed This PR can be a duplicate of PR81301 and/or PR81559.