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