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

            Bug ID: 85426
           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/ -mcpu=8548 -O1 (-O2, -O3, -Ofast) -fmodulo-sched
-fprefetch-loop-arrays -freorder-blocks-and-partition
-ftree-parallelize-loops=2 -fno-ivopts:

long long unsigned int
c8 (int *zf, int v2)
{
  int ns;
  long long unsigned int sv = 0;

  for (ns = 0; ns < v2; ++ns)
    sv += zf[ns] / ns;

  return sv;
}

% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20180415 -mcpu=8548 -O1
-fmodulo-sched -fprefetch-loop-arrays -freorder-blocks-and-partition
-ftree-parallelize-loops=2 -fno-ivopts -c t3kxgcui.c
during RTL pass: sms
t3kxgcui.c: In function 'c8._loopfn.0':
t3kxgcui.c:7:3: internal compiler error: in patch_jump_insn, at cfgrtl.c:1271
   for (ns = 0; ns < v2; ++ns)
   ^
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
0x74e02a cfg_layout_redirect_edge_and_branch
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgrtl.c:4437
0x74e1d7 cfg_layout_redirect_edge_and_branch_force
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgrtl.c:4451
0x7319f8 redirect_edge_and_branch_force(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:486
0x7327ed make_forwarder_block(basic_block_def*, bool (*)(edge_def*), void
(*)(basic_block_def*))
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfghooks.c:893
0x73bbff merge_latch_edges
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgloop.c:780
0x73bbff disambiguate_multiple_latches
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgloop.c:831
0x73bbff disambiguate_loops_with_multiple_latches()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/cfgloop.c:844
0xa73474 apply_loop_flags
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/loop-init.c:54
0xa74105 loop_optimizer_init(unsigned int)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/loop-init.c:123
0x14c78d5 sms_schedule
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/modulo-sched.c:1354
0x14ca3a2 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20180415/work/gcc-8-20180415/gcc/modulo-sched.c:3345

Reply via email to