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