[Bug rtl-optimization/89116] New: ICE in cfg_layout_redirect_edge_and_branch_force, at cfgrtl.c:4482

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Wed Jan 30 12:30:00 GMT 2019


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.


More information about the Gcc-bugs mailing list