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

Reply via email to