200 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -polly-ignore-aliasing -S < %s | FileCheck %s2;3; void manyarrays(float A1[], float A2[], float A3[], float A4[], float A5[],4; float A6[], float A7[], float A8[], float A9[]) {5; for (long i = 0; i <= 1024; i++) {6; A1[i] += i;7; A2[i] += i;8; A3[i] += i;9; A4[i] += i;10; A5[i] += i;11; A6[i] += i;12; A7[i] += i;13; A8[i] += i;14; A9[i] += i;15; }16; }17;18; CHECK-LABEL: @manyarrays19; CHECK: load{{.*}}!alias.scope20; CHECK: store{{.*}}!alias.scope21; CHECK: load{{.*}}!alias.scope22; CHECK: store{{.*}}!alias.scope23; CHECK: load{{.*}}!alias.scope24; CHECK: store{{.*}}!alias.scope25; CHECK: load{{.*}}!alias.scope26; CHECK: store{{.*}}!alias.scope27; CHECK: load{{.*}}!alias.scope28; CHECK: store{{.*}}!alias.scope29; CHECK: load{{.*}}!alias.scope30; CHECK: store{{.*}}!alias.scope31; CHECK: load{{.*}}!alias.scope32; CHECK: store{{.*}}!alias.scope33; CHECK: load{{.*}}!alias.scope34; CHECK: store{{.*}}!alias.scope35; CHECK: load{{.*}}!alias.scope36; CHECK: store{{.*}}!alias.scope37;38; void toomanyarrays(float A1[], float A2[], float A3[], float A4[], float A5[],39; float A6[], float A7[], float A8[], float A9[], float A10[],40; float A11[]) {41; for (long i = 0; i <= 1024; i++) {42; A1[i] += i;43; A2[i] += i;44; A3[i] += i;45; A4[i] += i;46; A5[i] += i;47; A6[i] += i;48; A7[i] += i;49; A8[i] += i;50; A9[i] += i;51; A10[i] += i;52; A11[i] += i;53; }54; }55;56; CHECK-LABEL: @toomanyarrays57; CHECK-NOT: !alias.scope58;59target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"60 61define void @manyarrays(ptr %A1, ptr %A2, ptr %A3, ptr %A4, ptr %A5, ptr %A6, ptr %A7, ptr %A8, ptr %A9) {62bb:63 br label %bb164 65bb1: ; preds = %bb38, %bb66 %i.0 = phi i64 [ 0, %bb ], [ %tmp39, %bb38 ]67 %exitcond = icmp ne i64 %i.0, 102568 br i1 %exitcond, label %bb2, label %bb4069 70bb2: ; preds = %bb171 %tmp = sitofp i64 %i.0 to float72 %tmp3 = getelementptr inbounds float, ptr %A1, i64 %i.073 %tmp4 = load float, ptr %tmp3, align 474 %tmp5 = fadd float %tmp4, %tmp75 store float %tmp5, ptr %tmp3, align 476 %tmp6 = sitofp i64 %i.0 to float77 %tmp7 = getelementptr inbounds float, ptr %A2, i64 %i.078 %tmp8 = load float, ptr %tmp7, align 479 %tmp9 = fadd float %tmp8, %tmp680 store float %tmp9, ptr %tmp7, align 481 %tmp10 = sitofp i64 %i.0 to float82 %tmp11 = getelementptr inbounds float, ptr %A3, i64 %i.083 %tmp12 = load float, ptr %tmp11, align 484 %tmp13 = fadd float %tmp12, %tmp1085 store float %tmp13, ptr %tmp11, align 486 %tmp14 = sitofp i64 %i.0 to float87 %tmp15 = getelementptr inbounds float, ptr %A4, i64 %i.088 %tmp16 = load float, ptr %tmp15, align 489 %tmp17 = fadd float %tmp16, %tmp1490 store float %tmp17, ptr %tmp15, align 491 %tmp18 = sitofp i64 %i.0 to float92 %tmp19 = getelementptr inbounds float, ptr %A5, i64 %i.093 %tmp20 = load float, ptr %tmp19, align 494 %tmp21 = fadd float %tmp20, %tmp1895 store float %tmp21, ptr %tmp19, align 496 %tmp22 = sitofp i64 %i.0 to float97 %tmp23 = getelementptr inbounds float, ptr %A6, i64 %i.098 %tmp24 = load float, ptr %tmp23, align 499 %tmp25 = fadd float %tmp24, %tmp22100 store float %tmp25, ptr %tmp23, align 4101 %tmp26 = sitofp i64 %i.0 to float102 %tmp27 = getelementptr inbounds float, ptr %A7, i64 %i.0103 %tmp28 = load float, ptr %tmp27, align 4104 %tmp29 = fadd float %tmp28, %tmp26105 store float %tmp29, ptr %tmp27, align 4106 %tmp30 = sitofp i64 %i.0 to float107 %tmp31 = getelementptr inbounds float, ptr %A8, i64 %i.0108 %tmp32 = load float, ptr %tmp31, align 4109 %tmp33 = fadd float %tmp32, %tmp30110 store float %tmp33, ptr %tmp31, align 4111 %tmp34 = sitofp i64 %i.0 to float112 %tmp35 = getelementptr inbounds float, ptr %A9, i64 %i.0113 %tmp36 = load float, ptr %tmp35, align 4114 %tmp37 = fadd float %tmp36, %tmp34115 store float %tmp37, ptr %tmp35, align 4116 br label %bb38117 118bb38: ; preds = %bb2119 %tmp39 = add nuw nsw i64 %i.0, 1120 br label %bb1121 122bb40: ; preds = %bb1123 ret void124}125 126define void @toomanyarrays(ptr %A1, ptr %A2, ptr %A3, ptr %A4, ptr %A5, ptr %A6, ptr %A7, ptr %A8, ptr %A9, ptr %A10, ptr %A11) {127bb:128 br label %bb1129 130bb1: ; preds = %bb46, %bb131 %i.0 = phi i64 [ 0, %bb ], [ %tmp47, %bb46 ]132 %exitcond = icmp ne i64 %i.0, 1025133 br i1 %exitcond, label %bb2, label %bb48134 135bb2: ; preds = %bb1136 %tmp = sitofp i64 %i.0 to float137 %tmp3 = getelementptr inbounds float, ptr %A1, i64 %i.0138 %tmp4 = load float, ptr %tmp3, align 4139 %tmp5 = fadd float %tmp4, %tmp140 store float %tmp5, ptr %tmp3, align 4141 %tmp6 = sitofp i64 %i.0 to float142 %tmp7 = getelementptr inbounds float, ptr %A2, i64 %i.0143 %tmp8 = load float, ptr %tmp7, align 4144 %tmp9 = fadd float %tmp8, %tmp6145 store float %tmp9, ptr %tmp7, align 4146 %tmp10 = sitofp i64 %i.0 to float147 %tmp11 = getelementptr inbounds float, ptr %A3, i64 %i.0148 %tmp12 = load float, ptr %tmp11, align 4149 %tmp13 = fadd float %tmp12, %tmp10150 store float %tmp13, ptr %tmp11, align 4151 %tmp14 = sitofp i64 %i.0 to float152 %tmp15 = getelementptr inbounds float, ptr %A4, i64 %i.0153 %tmp16 = load float, ptr %tmp15, align 4154 %tmp17 = fadd float %tmp16, %tmp14155 store float %tmp17, ptr %tmp15, align 4156 %tmp18 = sitofp i64 %i.0 to float157 %tmp19 = getelementptr inbounds float, ptr %A5, i64 %i.0158 %tmp20 = load float, ptr %tmp19, align 4159 %tmp21 = fadd float %tmp20, %tmp18160 store float %tmp21, ptr %tmp19, align 4161 %tmp22 = sitofp i64 %i.0 to float162 %tmp23 = getelementptr inbounds float, ptr %A6, i64 %i.0163 %tmp24 = load float, ptr %tmp23, align 4164 %tmp25 = fadd float %tmp24, %tmp22165 store float %tmp25, ptr %tmp23, align 4166 %tmp26 = sitofp i64 %i.0 to float167 %tmp27 = getelementptr inbounds float, ptr %A7, i64 %i.0168 %tmp28 = load float, ptr %tmp27, align 4169 %tmp29 = fadd float %tmp28, %tmp26170 store float %tmp29, ptr %tmp27, align 4171 %tmp30 = sitofp i64 %i.0 to float172 %tmp31 = getelementptr inbounds float, ptr %A8, i64 %i.0173 %tmp32 = load float, ptr %tmp31, align 4174 %tmp33 = fadd float %tmp32, %tmp30175 store float %tmp33, ptr %tmp31, align 4176 %tmp34 = sitofp i64 %i.0 to float177 %tmp35 = getelementptr inbounds float, ptr %A9, i64 %i.0178 %tmp36 = load float, ptr %tmp35, align 4179 %tmp37 = fadd float %tmp36, %tmp34180 store float %tmp37, ptr %tmp35, align 4181 %tmp38 = sitofp i64 %i.0 to float182 %tmp39 = getelementptr inbounds float, ptr %A10, i64 %i.0183 %tmp40 = load float, ptr %tmp39, align 4184 %tmp41 = fadd float %tmp40, %tmp38185 store float %tmp41, ptr %tmp39, align 4186 %tmp42 = sitofp i64 %i.0 to float187 %tmp43 = getelementptr inbounds float, ptr %A11, i64 %i.0188 %tmp44 = load float, ptr %tmp43, align 4189 %tmp45 = fadd float %tmp44, %tmp42190 store float %tmp45, ptr %tmp43, align 4191 br label %bb46192 193bb46: ; preds = %bb2194 %tmp47 = add nuw nsw i64 %i.0, 1195 br label %bb1196 197bb48: ; preds = %bb1198 ret void199}200