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

            Bug ID: 104716
           Summary: ICE in copy_loop_before, at
                    tree-loop-distribution.cc:952
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---

gfortran 12.0.1 20220227 snapshot (g:d1574a9b820f17adb9004255e2018967e9be063b)
ICEs when compiling the following testcase w/ -O2 -ftree-loop-distribution
-fno-move-loop-stores -fno-tree-dominator-opts:

      SUBROUTINE FOO()

      COMMON /WORK/ C2(2, 2)

      DIMENSION D11(2)

      EQUIVALENCE (D11(1), C2(1, 1))

      DO 40 I = 1, 2
         DO 30 J = 1, 2
            ASSIGN 10 TO ILBL
            IF (C2(J, I) .NE. 0.0) THEN
               ASSIGN 20 TO ILBL
            ENDIF
            GO TO ILBL
 10         CONTINUE
 20         CONTINUE
            C2(J, I) = C2(J, I) + 1
 30      CONTINUE
 40   CONTINUE

      DO 50 I = 1, 2
         PRINT 90, I
 50   CONTINUE

      RETURN
 90   FORMAT(I5)
      END

% gfortran-12.0.1 -O2 -ftree-loop-distribution -fno-move-loop-stores
-fno-tree-dominator-opts -w -c umdmfg43.f
during GIMPLE pass: ldist
umdmfg43.f:1:20:

    1 |       SUBROUTINE FOO()
      |                    ^
internal compiler error: in copy_loop_before, at tree-loop-distribution.cc:952
0x740892 copy_loop_before
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:952
0x740892 generate_loops_for_partition
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:988
0x740892 generate_code_for_partition
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:1348
0x740892 loop_distribution::distribute_loop(loop*, vec<gimple*, va_heap,
vl_ptr> const&, control_dependences*, int*, bool*, bool)
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:3167
0xff7caf loop_distribution::execute(function*)
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:3816
0xff899b execute
       
/var/tmp/portage/sys-devel/gcc-12.0.1_p20220227/work/gcc-12-20220227/gcc/tree-loop-distribution.cc:3905

Reply via email to