https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78730

            Bug ID: 78730
           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-alpha20161204 snapshot ICEs when compiling the following snippet w/
-Os:

int k0;

void
fn1 (int bu, int z1)
{
  signed char x6;
  int *nr = (bu != 0) ? &bu : &k0;

  for (;;)
    {
      unsigned char *qj = (unsigned char *)bu;

      x6 = *qj;
      z1 = (x6 != 0 && (bu / 0) != 0);
      *nr = (k0 == z1) ? 1 : 2;

      if (qj != 0)
        z1 = 1;
      else
        x6 *= 2;

      x6 += 3;
      if (x6 < z1)
        {
          z1 = (z1 != 0) ? (x6 < 1) : 1;
          if (z1 != 0)
            bu = 3;
          --bu;
          k0 /= 0;
        }
    }
}

% powerpc-e300c3-linux-gnu-gcc-7.0.0-alpha20161204 -Os -w -c q0fqbzjz.c 
q0fqbzjz.c: In function 'fn1':
q0fqbzjz.c:32:1: error: in basic block 12:
 }
 ^
q0fqbzjz.c:32:1: error: flow control insn inside a basic block
(insn 104 127 65 12 (trap_if (const_int 1 [0x1])
        (const_int 0 [0])) 823 {trap}
     (nil))
q0fqbzjz.c:32:1: internal compiler error: in rtl_verify_bb_insns, at
cfgrtl.c:2656
0x2e5e5fdec35 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/rtl-error.c:108
0x2e5e5ba5117 rtl_verify_bb_insns
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2656
0x2e5e5ba5117 rtl_verify_flow_info_1
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2742
0x2e5e5ba5184 rtl_verify_flow_info
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgrtl.c:2984
0x2e5e5b9131d verify_flow_info()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.c:258
0x2e5e66bcdc6 checking_verify_flow_info
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfghooks.h:198
0x2e5e66bcdc6 try_optimize_cfg
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:2988
0x2e5e66bcdc6 cleanup_cfg(int)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/cfgcleanup.c:3152
0x2e5e5e5dbce do_reload
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/ira.c:5435
0x2e5e5e5dbce execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-7.0.0_alpha20161204/work/gcc-7-20161204/gcc/ira.c:5570

Reply via email to