https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79780
Bug ID: 79780 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-alpha20170226 snapshot ICEs when compiling the following snippet 32-bit BE powerpc target at -O2: int t3, iy, f4, oi, gn; void hr (long long int mh) { int pi = 0; if (iy != 0) for (;;) f4 = 0; if (t3 != 0) { while (mh != 0LL) { while (mh < 1LL) ++mh; ++mh; } for (;;) { } for (oi = 0; oi < 1; ++oi) { n3: ; } gn = iy = 1; } f4 = 0; if (pi - (mh != 0LL) == 0) if (mh != 1LL) { oi = t3 = 0; if (mh == 0LL) ++pi; } if (iy != 0 && pi != 0) { t3 = 0; goto n3; } t3 /= 0; } % powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20170226 -O2 -w -c ojvp0vil.c ojvp0vil.c: In function 'hr': ojvp0vil.c:51:1: error: in basic block 27: } ^ ojvp0vil.c:51:1: error: flow control insn inside a basic block (insn 187 196 119 27 (trap_if (const_int 1 [0x1]) (const_int 0 [0])) 827 {trap} (nil)) ojvp0vil.c:51:1: internal compiler error: in rtl_verify_bb_insns, at cfgrtl.c:2661 0x2b3b9aed015 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/rtl-error.c:108 0x2b3b969fa87 rtl_verify_bb_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cfgrtl.c:2661 0x2b3b969fa87 rtl_verify_flow_info_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cfgrtl.c:2747 0x2b3b968bbdd verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cfghooks.c:258 0x2b3b96a3737 checking_verify_flow_info /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cfghooks.h:198 0x2b3b96a3737 commit_edge_insertions() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cfgrtl.c:2095 0x2b3ba20b02a bypass_conditional_jumps /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cprop.c:1741 0x2b3ba20b02a one_cprop_pass /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cprop.c:1878 0x2b3ba20b02a execute_rtl_cprop /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cprop.c:1922 0x2b3ba20b02a execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20170226/work/gcc-7-20170226/gcc/cprop.c:1960