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

            Bug ID: 90021
           Summary: [9 Regression] ICE in index_in_loop_nest, at
                    tree-data-ref.h:587 since r270203
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

I see following ICE:

$ cat ice.f90
MODULE a
  INTEGER b
CONTAINS
  SUBROUTINE bar(c)
    REAL c(1)
    INTEGER d, e, f 
    DO g = 1,3
      DO f = 1,1
        DO e = 1,3
          DO d = 1,1
            c(f-1+d) = c(f-1+d)*b
          END DO
        END DO
      END DO
    END DO
  END  
  END  

$ gcc ice.f90 -fno-tree-loop-ivcanon -O1 -floop-interchange -fno-tree-ccp
-fno-tree-ch -fipa-pta -c
ice.f90:7:7:

    7 |     DO g = 1,3
      |       1
Warning: Deleted feature: Loop variable at (1) must be integer
during GIMPLE pass: linterchange
ice.f90:4:0:

    4 |   SUBROUTINE bar(c)
      | 
internal compiler error: in index_in_loop_nest, at tree-data-ref.h:587
0x78219b index_in_loop_nest
        /home/marxin/Programming/gcc/gcc/tree-data-ref.h:587
0x7837a7 index_in_loop_nest
        /home/marxin/Programming/gcc/gcc/tree.h:3176
0x7837a7 add_multivariate_self_dist
        /home/marxin/Programming/gcc/gcc/tree-data-ref.c:4392
0x7837a7 add_other_self_distances
        /home/marxin/Programming/gcc/gcc/tree-data-ref.c:4445
0x7837a7 build_classic_dist_vector
        /home/marxin/Programming/gcc/gcc/tree-data-ref.c:4565
0x7837a7 subscript_dependence_tester
        /home/marxin/Programming/gcc/gcc/tree-data-ref.c:4798
0x7837a7 compute_affine_dependence(data_dependence_relation*, loop*)
        /home/marxin/Programming/gcc/gcc/tree-data-ref.c:4853
0x156cf48 tree_loop_interchange_compute_ddrs
        /home/marxin/Programming/gcc/gcc/gimple-loop-interchange.cc:1855
0x156cf48 prepare_perfect_loop_nest
        /home/marxin/Programming/gcc/gcc/gimple-loop-interchange.cc:2031
0x156cf48 execute
        /home/marxin/Programming/gcc/gcc/gimple-loop-interchange.cc:2072
0x156cf48 execute
        /home/marxin/Programming/gcc/gcc/gimple-loop-interchange.cc:2060

Reply via email to