https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93439
Bug ID: 93439 Summary: [9/10 Regression] ICE in gimple_duplicate_bb, at tree-cfg.c:6277 Product: gcc Version: 10.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- gfortran-10.0.0-alpha20200119 snapshot (g:3684bbb022cd75da55e1457673f269980aa12cdf) ICEs when compiling the following testcase, reduced from gcc/testsuite/gfortran.dg/pr68251.f90, w/ -O2 -floop-parallelize-all -floop-unroll-and-jam -ftree-parallelize-loops=2: module ai integer, parameter :: dp = 8 contains subroutine qu(ja, nq, en, p5) real(kind = dp) :: nq(ja), en(ja), p5(ja) call tl(ja, nq, en, p5) end subroutine qu subroutine tl(ja, nq, en, p5) real(kind = dp) :: nq(9), en(9 * ja), p5(3 * ja) do mc = 1, ja do mb = 1, 9 do ma = 1, 3 p5((mc - 1) * 3 + ma) = p5((mc - 1) * 3 + ma) - 1 end do end do end do end subroutine tl end module ai % powerpc-e300c3-linux-gnu-gfortran-10.0.0-alpha20200119 -O2 -floop-parallelize-all -floop-unroll-and-jam -ftree-parallelize-loops=2 -c q5isrzrh.f90 during GIMPLE pass: unrolljam f951: internal compiler error: in gimple_duplicate_bb, at tree-cfg.c:6277 0x69ed73 gimple_duplicate_bb /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-cfg.c:6277 0xa02382 duplicate_block(basic_block_def*, edge_def*, basic_block_def*, copy_bb_data*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/cfghooks.c:1089 0xa02b57 copy_bbs(basic_block_def**, unsigned int, basic_block_def**, edge_def**, unsigned int, edge_def**, loop*, basic_block_def*, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/cfghooks.c:1357 0xa0eeef duplicate_loop_to_header_edge(loop*, edge_def*, unsigned int, simple_bitmap_def*, edge_def*, vec<edge_def*, va_heap, vl_ptr>*, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/cfgloopmanip.c:1302 0x1012cd8 gimple_duplicate_loop_to_header_edge(loop*, edge_def*, unsigned int, simple_bitmap_def*, edge_def*, vec<edge_def*, va_heap, vl_ptr>*, int) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-ssa-loop-manip.c:933 0xa11e9c loop_version(loop*, void*, basic_block_def**, profile_probability, profile_probability, profile_probability, profile_probability, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/cfgloopmanip.c:1702 0x1013421 tree_transform_and_unroll_loop(loop*, unsigned int, edge_def*, tree_niter_desc*, void (*)(loop*, void*), void*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/tree-ssa-loop-manip.c:1278 0x1692a08 tree_loop_unroll_and_jam /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-10.0.0_alpha20200119/work/gcc-10-20200119/gcc/gimple-loop-jam.c:59 (While my target here is powerpc, the ICE is not target-specific.)