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

Reply via email to