1 ; RUN: opt %loadPolly -polly-codegen -polly-ignore-aliasing -S < %s \
4 ; void manyarrays(float A1[], float A2[], float A3[], float A4[], float A5[],
5 ; float A6[], float A7[], float A8[], float A9[]) {
6 ; for (long i = 0; i <= 1024; i++) {
19 ; CHECK-LABEL @manyarrays
20 ; CHECK: load{{.*}}!alias.scope
21 ; CHECK: store{{.*}}!alias.scope
22 ; CHECK: load{{.*}}!alias.scope
23 ; CHECK: store{{.*}}!alias.scope
24 ; CHECK: load{{.*}}!alias.scope
25 ; CHECK: store{{.*}}!alias.scope
26 ; CHECK: load{{.*}}!alias.scope
27 ; CHECK: store{{.*}}!alias.scope
28 ; CHECK: load{{.*}}!alias.scope
29 ; CHECK: store{{.*}}!alias.scope
30 ; CHECK: load{{.*}}!alias.scope
31 ; CHECK: store{{.*}}!alias.scope
32 ; CHECK: load{{.*}}!alias.scope
33 ; CHECK: store{{.*}}!alias.scope
34 ; CHECK: load{{.*}}!alias.scope
35 ; CHECK: store{{.*}}!alias.scope
36 ; CHECK: load{{.*}}!alias.scope
37 ; CHECK: store{{.*}}!alias.scope
39 ; void toomanyarrays(float A1[], float A2[], float A3[], float A4[], float A5[],
40 ; float A6[], float A7[], float A8[], float A9[], float A10[],
42 ; for (long i = 0; i <= 1024; i++) {
57 ; CHECK-LABEL: @toomanyarrays
58 ; CHECK-NOT: !alias.scope
60 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
62 define void @manyarrays(ptr %A1, ptr %A2, ptr %A3, ptr %A4, ptr %A5, ptr %A6, ptr %A7, ptr %A8, ptr %A9) {
66 bb1: ; preds = %bb38, %bb
67 %i.0 = phi i64 [ 0, %bb ], [ %tmp39, %bb38 ]
68 %exitcond = icmp ne i64 %i.0, 1025
69 br i1 %exitcond, label %bb2, label %bb40
72 %tmp = sitofp i64 %i.0 to float
73 %tmp3 = getelementptr inbounds float, ptr %A1, i64 %i.0
74 %tmp4 = load float, ptr %tmp3, align 4
75 %tmp5 = fadd float %tmp4, %tmp
76 store float %tmp5, ptr %tmp3, align 4
77 %tmp6 = sitofp i64 %i.0 to float
78 %tmp7 = getelementptr inbounds float, ptr %A2, i64 %i.0
79 %tmp8 = load float, ptr %tmp7, align 4
80 %tmp9 = fadd float %tmp8, %tmp6
81 store float %tmp9, ptr %tmp7, align 4
82 %tmp10 = sitofp i64 %i.0 to float
83 %tmp11 = getelementptr inbounds float, ptr %A3, i64 %i.0
84 %tmp12 = load float, ptr %tmp11, align 4
85 %tmp13 = fadd float %tmp12, %tmp10
86 store float %tmp13, ptr %tmp11, align 4
87 %tmp14 = sitofp i64 %i.0 to float
88 %tmp15 = getelementptr inbounds float, ptr %A4, i64 %i.0
89 %tmp16 = load float, ptr %tmp15, align 4
90 %tmp17 = fadd float %tmp16, %tmp14
91 store float %tmp17, ptr %tmp15, align 4
92 %tmp18 = sitofp i64 %i.0 to float
93 %tmp19 = getelementptr inbounds float, ptr %A5, i64 %i.0
94 %tmp20 = load float, ptr %tmp19, align 4
95 %tmp21 = fadd float %tmp20, %tmp18
96 store float %tmp21, ptr %tmp19, align 4
97 %tmp22 = sitofp i64 %i.0 to float
98 %tmp23 = getelementptr inbounds float, ptr %A6, i64 %i.0
99 %tmp24 = load float, ptr %tmp23, align 4
100 %tmp25 = fadd float %tmp24, %tmp22
101 store float %tmp25, ptr %tmp23, align 4
102 %tmp26 = sitofp i64 %i.0 to float
103 %tmp27 = getelementptr inbounds float, ptr %A7, i64 %i.0
104 %tmp28 = load float, ptr %tmp27, align 4
105 %tmp29 = fadd float %tmp28, %tmp26
106 store float %tmp29, ptr %tmp27, align 4
107 %tmp30 = sitofp i64 %i.0 to float
108 %tmp31 = getelementptr inbounds float, ptr %A8, i64 %i.0
109 %tmp32 = load float, ptr %tmp31, align 4
110 %tmp33 = fadd float %tmp32, %tmp30
111 store float %tmp33, ptr %tmp31, align 4
112 %tmp34 = sitofp i64 %i.0 to float
113 %tmp35 = getelementptr inbounds float, ptr %A9, i64 %i.0
114 %tmp36 = load float, ptr %tmp35, align 4
115 %tmp37 = fadd float %tmp36, %tmp34
116 store float %tmp37, ptr %tmp35, align 4
120 %tmp39 = add nuw nsw i64 %i.0, 1
127 define void @toomanyarrays(ptr %A1, ptr %A2, ptr %A3, ptr %A4, ptr %A5, ptr %A6, ptr %A7, ptr %A8, ptr %A9, ptr %A10, ptr %A11) {
131 bb1: ; preds = %bb46, %bb
132 %i.0 = phi i64 [ 0, %bb ], [ %tmp47, %bb46 ]
133 %exitcond = icmp ne i64 %i.0, 1025
134 br i1 %exitcond, label %bb2, label %bb48
137 %tmp = sitofp i64 %i.0 to float
138 %tmp3 = getelementptr inbounds float, ptr %A1, i64 %i.0
139 %tmp4 = load float, ptr %tmp3, align 4
140 %tmp5 = fadd float %tmp4, %tmp
141 store float %tmp5, ptr %tmp3, align 4
142 %tmp6 = sitofp i64 %i.0 to float
143 %tmp7 = getelementptr inbounds float, ptr %A2, i64 %i.0
144 %tmp8 = load float, ptr %tmp7, align 4
145 %tmp9 = fadd float %tmp8, %tmp6
146 store float %tmp9, ptr %tmp7, align 4
147 %tmp10 = sitofp i64 %i.0 to float
148 %tmp11 = getelementptr inbounds float, ptr %A3, i64 %i.0
149 %tmp12 = load float, ptr %tmp11, align 4
150 %tmp13 = fadd float %tmp12, %tmp10
151 store float %tmp13, ptr %tmp11, align 4
152 %tmp14 = sitofp i64 %i.0 to float
153 %tmp15 = getelementptr inbounds float, ptr %A4, i64 %i.0
154 %tmp16 = load float, ptr %tmp15, align 4
155 %tmp17 = fadd float %tmp16, %tmp14
156 store float %tmp17, ptr %tmp15, align 4
157 %tmp18 = sitofp i64 %i.0 to float
158 %tmp19 = getelementptr inbounds float, ptr %A5, i64 %i.0
159 %tmp20 = load float, ptr %tmp19, align 4
160 %tmp21 = fadd float %tmp20, %tmp18
161 store float %tmp21, ptr %tmp19, align 4
162 %tmp22 = sitofp i64 %i.0 to float
163 %tmp23 = getelementptr inbounds float, ptr %A6, i64 %i.0
164 %tmp24 = load float, ptr %tmp23, align 4
165 %tmp25 = fadd float %tmp24, %tmp22
166 store float %tmp25, ptr %tmp23, align 4
167 %tmp26 = sitofp i64 %i.0 to float
168 %tmp27 = getelementptr inbounds float, ptr %A7, i64 %i.0
169 %tmp28 = load float, ptr %tmp27, align 4
170 %tmp29 = fadd float %tmp28, %tmp26
171 store float %tmp29, ptr %tmp27, align 4
172 %tmp30 = sitofp i64 %i.0 to float
173 %tmp31 = getelementptr inbounds float, ptr %A8, i64 %i.0
174 %tmp32 = load float, ptr %tmp31, align 4
175 %tmp33 = fadd float %tmp32, %tmp30
176 store float %tmp33, ptr %tmp31, align 4
177 %tmp34 = sitofp i64 %i.0 to float
178 %tmp35 = getelementptr inbounds float, ptr %A9, i64 %i.0
179 %tmp36 = load float, ptr %tmp35, align 4
180 %tmp37 = fadd float %tmp36, %tmp34
181 store float %tmp37, ptr %tmp35, align 4
182 %tmp38 = sitofp i64 %i.0 to float
183 %tmp39 = getelementptr inbounds float, ptr %A10, i64 %i.0
184 %tmp40 = load float, ptr %tmp39, align 4
185 %tmp41 = fadd float %tmp40, %tmp38
186 store float %tmp41, ptr %tmp39, align 4
187 %tmp42 = sitofp i64 %i.0 to float
188 %tmp43 = getelementptr inbounds float, ptr %A11, i64 %i.0
189 %tmp44 = load float, ptr %tmp43, align 4
190 %tmp45 = fadd float %tmp44, %tmp42
191 store float %tmp45, ptr %tmp43, align 4
195 %tmp47 = add nuw nsw i64 %i.0, 1