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

            Bug ID: 96514
           Summary: [9/10/11 Regression] ICE: verify_flow_info failed
                    (error: control flow in the middle of basic block 3)
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: x86_64-pc-linux-gnu

gcc-11.0.0-alpha20200802 snapshot (g:6e46b3f3da5c03bc529b3690dd0995927feb9142)
ICEs when compiling the following testcase w/ -O1:

int __attribute__ ((pure, returns_twice))
r0 (void);

void
vy (int t7)
{
  while (t7 == 0)
    r0 ();
}

void
qw (int t7)
{
  vy (t7);

  if (0)
    r0 ();
}

void __attribute__ ((simd))
un (int t7)
{
  qw (t7);
  qw (t7);
}

% x86_64-pc-linux-gnu-gcc-11.0.0 -O1 -c sylqgldf.c
sylqgldf.c: In function 'un.simdclone.0':
sylqgldf.c:21:1: error: control flow in the middle of basic block 3
   21 | un (int t7)
      | ^~
during GIMPLE pass: ifcvt
sylqgldf.c:21:1: internal compiler error: verify_flow_info failed
0x917096 verify_flow_info()
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/cfghooks.c:269
0xe15db4 checking_verify_flow_info
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/cfghooks.h:212
0xe15db4 cleanup_tree_cfg_noloop
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/tree-cfgcleanup.c:1114
0xe163c8 cleanup_tree_cfg(unsigned int)
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/tree-cfgcleanup.c:1165
0xe3db5c execute
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/tree-if-conv.c:3201
0xe3db5c execute
       
/var/tmp/portage/sys-devel/gcc-11.0.0_alpha20200802/work/gcc-11-20200802/gcc/tree-if-conv.c:3170

Reply via email to