[Bug target/82863] New: [8 Regression] ICE in verify_flow_info building SH libgcc
jsm28 at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 6 16:06:00 GMT 2017
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.
More information about the Gcc-bugs
mailing list