https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81559
Bug ID: 81559 Summary: [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 4 reachable only by paths crossing the cold partition) on 32-bit BE powerpc target 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: powerpc-*-linux-gnu gcc-8.0.0-alpha20170723 snapshot ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast) -freorder-blocks-and-partition: int yj, z5; void tz (int ih) { if (z5 == 0) return; if (z5 == 1) { int *ef = (int *)&ef; while (ef != 0) { hr: yj /= (z5 != 0) ? 0 : *ef; } } ih = (!!ih && !!z5); yj /= ih; if (yj != 0) { yj = 1; goto hr; } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20170723 -O2 -freorder-blocks-and-partition -c jwf88471.c jwf88471.c: In function 'tz': jwf88471.c:27:1: error: non-cold basic block 4 reachable only by paths crossing the cold partition } ^ during RTL pass: ce3 jwf88471.c:27:1: internal compiler error: verify_flow_info failed 0x76ac45 verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/cfghooks.c:259 0x13e81e4 checking_verify_flow_info /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/cfghooks.h:198 0x13e81e4 if_convert /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/ifcvt.c:5448 0x13e9c9c execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/ifcvt.c:5594 This PR can be a duplicate of PR81301.