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