[Bug rtl-optimization/83771] New: [8 Regression] ICE: verify_flow_info failed (error: non-cold basic block 3 reachable only by paths crossing the cold partition)

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Wed Jan 10 16:32:00 GMT 2018


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

            Bug ID: 83771
           Summary: [8 Regression] ICE: verify_flow_info failed (error:
                    non-cold basic block 3 reachable only by paths
                    crossing the cold partition)
           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: ---

Though PR83475 is now fixed, gcc-8.0.0-alpha20180107 snapshot (r256324) w/
r256420 applied on top of it still ICEs similarly when compiling the following
snippet w/ -O3 (-Ofast) -fmodulo-sched -fno-ssa-phiopt:

long int fg;
int m8;

int
w0 (int);

void
ro (void)
{
  int i4;

  do
    {
      i4 = fg / (!!m8 == 1);
      i4 = !!i4 + 1;
    }
  while (w0 (i4) < 1);
}

% gcc-8.0.0-alpha20180107 -O3 -fmodulo-sched -fno-ssa-phiopt -c o9pmru6k.c
o9pmru6k.c: In function 'ro':
o9pmru6k.c:18:1: error: non-cold basic block 3 reachable only by paths crossing
the cold partition
 }
 ^
during RTL pass: sms
o9pmru6k.c:18:1: internal compiler error: verify_flow_info failed
0x96f1f2 verify_flow_info()
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/cfghooks.c:265
0x98826c checking_verify_flow_info
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/cfghooks.h:198
0x98826c cfg_layout_finalize()
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/cfgrtl.c:4325
0x14c45f3 execute
       
/var/tmp/portage/sys-devel/gcc-8.0.0_alpha20180107/work/gcc-8-20180107/gcc/modulo-sched.c:3352


More information about the Gcc-bugs mailing list