https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83361
Bug ID: 83361 Summary: [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 3 reachable only by paths crossing the cold partition) on 32-bit BE powerpc targets Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- Target: powerpc-*-linux-gnu, powerpcspe-*-linux-gnu gcc-8.0.0-alpha20171210 snapshot (r255534) ICEs when compiling the following snippet w/ -O2 (-O3, -Ofast) -freorder-blocks-and-partition: #include <limits.h> int yz; void tq (int z3) { unsigned long long int n8 = (unsigned long long int)INT_MAX + 1; int *ey = &yz; if (yz == 0) { int bc; yz = 1; while (yz != 0) { *ey *= bc; n8 = !!(1 / ((unsigned long long int)yz == n8)); ey = &z3; } while (z3 != 0) { } } z3 = (n8 != 0) && (*ey != 0); z3 = yz / z3; if (z3 < 0) { if (yz != 0) yz = 0; yz /= 0; } } % powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20171210 -O2 -freorder-blocks-and-partition -w -c yb4mx7hn.c yb4mx7hn.c: In function 'tq': yb4mx7hn.c:36:1: error: non-cold basic block 3 reachable only by paths crossing the cold partition } ^ during RTL pass: ce3 yb4mx7hn.c:36:1: internal compiler error: verify_flow_info failed 0x71c61a verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171210/work/gcc-8-20171210/gcc/cfghooks.c:265 0x13db5d8 checking_verify_flow_info /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171210/work/gcc-8-20171210/gcc/cfghooks.h:198 0x13db5d8 if_convert /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171210/work/gcc-8-20171210/gcc/ifcvt.c:5449 0x13dd2fc execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171210/work/gcc-8-20171210/gcc/ifcvt.c:5549