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