https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78626
Bug ID: 78626 Summary: [7 Regression] ICE in rtl_verify_bb_insns, at cfgrtl.c:2656 (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-alpha20161127 snapshot ICEs when compiling the following reduced snippet for 32-bit BE powerpc w/ -Os: int qs; void ms (int g1) { int cy; int *fr = &cy; for (;;) { *fr = 1; fr = &g1; while (qs != 0) { if (qs | cy) qs = g1 / 0; ++qs; } cy = 1; while (cy != 0) cy = 2; } } % powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161127 -Os -w -c mfzov3v7.c mfzov3v7.c: In function 'ms': mfzov3v7.c:25:1: error: in basic block 3: } ^ mfzov3v7.c:25:1: error: flow control insn inside a basic block (insn 58 19 25 3 (trap_if (const_int 1 [0x1]) (const_int 0 [0])) 823 {trap} (nil)) mfzov3v7.c:25:1: internal compiler error: in rtl_verify_bb_insns, at cfgrtl.c:2656 0x2edfb398605 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/rtl-error.c:108 0x2edfaf5fe87 rtl_verify_bb_insns /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/cfgrtl.c:2656 0x2edfaf5fe87 rtl_verify_flow_info_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/cfgrtl.c:2742 0x2edfaf4c08d verify_flow_info() /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/cfghooks.c:258 0x2edfb322eb1 execute_function_todo /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/passes.c:1977 0x2edfb323cfb execute_todo /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161127/work/gcc-7-20161127/gcc/passes.c:2015 Applying r242947 and (or) r243028 doesn't fix it.