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

            Bug ID: 81559
           Summary: [8 Regression] ICE: verify_flow_info failed (error:
                    non-cold basic block 4 reachable only by paths
                    crossing the cold partition) on 32-bit BE powerpc
                    target
           Product: gcc
           Version: 8.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-8.0.0-alpha20170723 snapshot ICEs when compiling the following snippet w/
-O2 (-O3, -Ofast) -freorder-blocks-and-partition:

int yj, z5;

void
tz (int ih)
{
  if (z5 == 0)
    return;

  if (z5 == 1)
    {
      int *ef = (int *)&ef;

      while (ef != 0)
        {
 hr:
          yj /= (z5 != 0) ? 0 : *ef;
        }
    }

  ih = (!!ih && !!z5);
  yj /= ih;
  if (yj != 0)
    {
      yj = 1;
      goto hr;
    }
}

% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20170723 -O2
-freorder-blocks-and-partition -c jwf88471.c
jwf88471.c: In function 'tz':
jwf88471.c:27:1: error: non-cold basic block 4 reachable only by paths crossing
the cold partition
 }
 ^
during RTL pass: ce3
jwf88471.c:27:1: internal compiler error: verify_flow_info failed
0x76ac45 verify_flow_info()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/cfghooks.c:259
0x13e81e4 checking_verify_flow_info
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/cfghooks.h:198
0x13e81e4 if_convert
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/ifcvt.c:5448
0x13e9c9c execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20170723/work/gcc-8-20170723/gcc/ifcvt.c:5594

This PR can be a duplicate of PR81301.

Reply via email to