https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89116
Bug ID: 89116 Summary: ICE in cfg_layout_redirect_edge_and_branch_force, at cfgrtl.c:4482 Product: gcc Version: 9.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: --- Target: powerpc-*-linux-gnu* gfortran-9.0.0-alpha20190127 snapshot (r268327) ICEs when compiling the following snippet reduced from gcc/testsuite/gfortran.dg/mvbits_7.f90 w/ -O1 -floop-parallelize-all -fmodulo-sched -fmodulo-sched-allow-regmoves -freorder-blocks-and-partition -ftree-parallelize-loops=2 -fno-inline -fno-move-loop-invariants -fno-sched-pressure: type t integer :: I character(9) :: chr end type type(t) :: x(4,3) call foo (x) contains SUBROUTINE foo (x) TYPE(t) x(4, 3) x%i = x%i * 2 END SUBROUTINE end % powerpc-e300c3-linux-gnu-gfortran-9.0.0-alpha20190127 -O1 -floop-parallelize-all -fmodulo-sched -fmodulo-sched-allow-regmoves -freorder-blocks-and-partition -ftree-parallelize-loops=2 -fno-inline -fno-move-loop-invariants -fno-sched-pressure -c l8jqrtst.f90 during RTL pass: sms f951: internal compiler error: in cfg_layout_redirect_edge_and_branch_force, at cfgrtl.c:4482 0x5a6108 cfg_layout_redirect_edge_and_branch_force /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/cfgrtl.c:4482 0x94c145 redirect_edge_and_branch_force(edge_def*, basic_block_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/cfghooks.c:486 0x95fb4e cfg_layout_split_edge /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/cfgrtl.c:4742 0x94c46f split_edge(edge_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/cfghooks.c:648 0xc0aa22 split_edge_and_insert(edge_def*, rtx_insn*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/loop-unroll.c:759 0x156ac09 generate_prolog_epilog /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/modulo-sched.c:1159 0x156ac09 sms_schedule /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/modulo-sched.c:1739 0x156b61f execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20190127/work/gcc-9-20190127/gcc/modulo-sched.c:3337 In fact it can be a duplicate of PR85408 or PR87329 both of which I cannot reproduce anymore, or PR85426 which probably tracks two different issues already.