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

            Bug ID: 85408
           Summary: ICE in patch_jump_insn, at cfgrtl.c:1271
           Product: gcc
           Version: unknown
            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*, powerpcspe-*-linux-gnu*

gcc-8.0.0-alpha20180415 snapshot (r259389) ICEs when compiling the following
snippet w/ -O2 (-O3, -Ofast) -fselective-scheduling -fmodulo-sched
-fgraphite-identity -freorder-blocks-and-partition -fno-tree-loop-im:

int um;

void
od (void)
{
  int vq = 0;

  for (;;)
    {
      while (um < 1)
        vq = (short int) um;

      while (vq < 1)
        {
          for (um = 0; um < 2; ++um)
            {
            }

          ++vq;
        }
    }
}

% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180415 -O2 -fselective-scheduling
-fmodulo-sched -fgraphite-identity -freorder-blocks-and-partition
-fno-tree-loop-im -c smjpdkm5.c
during RTL pass: sched1
smjpdkm5.c: In function 'od':
smjpdkm5.c:22:1: internal compiler error: in patch_jump_insn, at cfgrtl.c:1271
 }
 ^
0x74d7a2 patch_jump_insn
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgrtl.c:1271
0x74dd52 redirect_branch_edge
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgrtl.c:1297
0x74de22 rtl_redirect_edge_and_branch
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgrtl.c:1430
0x7315c8 redirect_edge_and_branch(edge_def*, basic_block_def*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfghooks.c:369
0x138eec9 try_forward_edges
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgcleanup.c:550
0x138eec9 try_optimize_cfg
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgcleanup.c:2942
0x13910ab cleanup_cfg(int)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgcleanup.c:3156
0xc1a15f sel_global_init
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7667
0xc1a15f run_selective_scheduling()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sel-sched.c:7730
0xbf0d04 rest_of_handle_sched
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sched-rgn.c:3718
0xbf0d04 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/sched-rgn.c:3828

I've been hitting it for a while but am filing a PR only now, when many
selective scheduling fixes have actually started landing on the trunk.

Reply via email to