https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79194
Bug ID: 79194
Summary: [7 Regression] ICE in rtl_verify_bb_insns, at
cfgrtl.c:2661 (error: flow control insn inside a basic
block)
Product: gcc
Version: 7.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-7.0.0-alpha20170122 snapshot ICEs when compiling the following snippet w/
-O3:
int iw, vr;
void
d9 (unsigned int j3, long long int f5, int kp)
{
int *qb = &kp;
if (kp != 0)
{
long long int oq;
unsigned int tl = 0;
for (j3 = 0; j3 < 1; ++j3)
qb = &tl;
goto ed;
l7:
oq = 1;
while (oq < 2)
oq *= j3;
ed:
do
{
oq -= *qb;
if (oq != 0)
{
long long int ie = j3 & f5;
int ws = (j3 != 0 && kp != 0);
tl = ie > ws;
iw = vr = tl;
}
else
tl = (kp != 0 && (0 % 0) != 0);
}
while (tl != 0);
}
goto l7;
}
% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20170122 -O3 -w -c rrypxrpr.c
rrypxrpr.c: In function 'd9':
rrypxrpr.c:40:1: error: in basic block 47:
}
^
rrypxrpr.c:40:1: error: flow control insn inside a basic block
(insn 508 347 353 47 (trap_if (const_int 1 [0x1])
(const_int 0 [0])) 824 {trap}
(nil))
rrypxrpr.c:40:1: internal compiler error: in rtl_verify_bb_insns, at
cfgrtl.c:2661
0x3177d0db745 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/rtl-error.c:108
0x3177cc9d1e7 rtl_verify_bb_insns
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cfgrtl.c:2661
0x3177cc9d1e7 rtl_verify_flow_info_1
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cfgrtl.c:2747
0x3177cc8933d verify_flow_info()
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cfghooks.c:258
0x3177cca26d7 checking_verify_flow_info
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cfghooks.h:198
0x3177cca26d7 commit_edge_insertions()
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cfgrtl.c:2095
0x3177d7f62a8 bypass_conditional_jumps
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cprop.c:1742
0x3177d7f62a8 one_cprop_pass
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cprop.c:1866
0x3177d7f62a8 execute_rtl_cprop
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cprop.c:1918
0x3177d7f62a8 execute
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170122/work/gcc-7-20170122/gcc/cprop.c:1956