https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82863
Bug ID: 82863 Summary: [8 Regression] ICE in verify_flow_info building SH libgcc Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jsm28 at gcc dot gnu.org CC: hubicka at gcc dot gnu.org Target Milestone: --- Target: sh4-linux-gnu The following ICE building libgcc for sh4-linux-gnu was introduced by r254379. Compile the following with -O2: typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int DItype __attribute__ ((mode (DI))); typedef unsigned int UDItype __attribute__ ((mode (DI))); typedef float SFtype __attribute__ ((mode (SF))); typedef float DFtype __attribute__ ((mode (DF))); SFtype __floatdisf (DItype u) { if (! (- ((DItype) 1 << 53) < u && u < ((DItype) 1 << 53))) { if ((UDItype) u & (((UDItype) 1 << (((4 * 8) * 2) - 53)) - 1)) { u &= ~ (((UDItype) 1 << (((4 * 8) * 2) - 53)) - 1); u |= ((UDItype) 1 << (((4 * 8) * 2) - 53)); } } DFtype f = (SItype) (u >> (4 * 8)); f *= 0x1p32f; f += (USItype)u; return (SFtype) f; } Resulting ICE seen: floatdisf.i: In function '__floatdisf': floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 7->10 } ^ floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 7->8 floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 5->11 floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 5->6 floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 2->11 floatdisf.i:26:1: error: verify_flow_info: Wrong probability of edge 2->4 during RTL pass: expand floatdisf.i:26:1: internal compiler error: verify_flow_info failed 0x71a2c3 verify_flow_info() /scratch/jmyers/glibc/many8/src/gcc/gcc/cfghooks.c:265 0x10a37a2 checking_verify_flow_info /scratch/jmyers/glibc/many8/src/gcc/gcc/cfghooks.h:198 0x10a37a2 try_optimize_cfg /scratch/jmyers/glibc/many8/src/gcc/gcc/cfgcleanup.c:3015 0x10a3aad cleanup_cfg(int) /scratch/jmyers/glibc/many8/src/gcc/gcc/cfgcleanup.c:3179 0x7170b5 execute /scratch/jmyers/glibc/many8/src/gcc/gcc/cfgexpand.c:6511 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.