brintos

brintos / llvm-project-archived public Read only

0
0
Text · 29.8 KiB · cfd9008 Raw
771 lines · plain
1; RUN: opt %loadNPMPolly -disable-output '-passes=polly-custom<scops>' -polly-print-scops -polly-ignore-aliasing < %s 2>&1 | FileCheck %s2 3; CHECK: Assumed Context:4; CHECK-NEXT: [n1_a, n1_b, n1_c, n1_d, n2_a, n2_b, n2_c, n2_d, n3_a, n3_b, n3_c, n3_d, n4_a, n4_b, n4_c, n4_d, n5_a, n5_b, n5_c, n5_d, n6_a, n6_b, n6_c, n6_d, n7_a, n7_b, n7_c, n7_d, n8_a, n8_b, n8_c, n8_d, n9_a, n9_b, n9_c, n9_d, p1_b, p1_c, p1_d, p2_b, p2_c, p2_d, p3_b, p3_c, p3_d, p4_b, p4_c, p4_d, p5_b, p5_c, p5_d, p6_b, p6_c, p6_d, p7_b, p7_c, p7_d, p8_b, p8_c, p8_d, p9_b, p9_c, p9_d] -> {  : p1_b >= n1_b and p1_c >= n1_c and p1_d >= n1_d and p2_b >= n2_b and p2_c >= n2_c and p2_d >= n2_d and p3_b >= n3_b and p3_c >= n3_c and p3_d >= n3_d and p4_b >= n4_b and p4_c >= n4_c and p4_d >= n4_d and p5_b >= n5_b and p5_c >= n5_c and p5_d >= n5_d and p6_b >= n6_b and p6_c >= n6_c and p6_d >= n6_d and p7_b >= n7_b and p7_c >= n7_c and p7_d >= n7_d and p8_b >= n8_b and p8_c >= n8_c and p8_d >= n8_d and p9_b >= n9_b and p9_c >= n9_c and p9_d >= n9_d }5; CHECK-NEXT: Invalid Context:6; CHECK-NEXT: [n1_a, n1_b, n1_c, n1_d, n2_a, n2_b, n2_c, n2_d, n3_a, n3_b, n3_c, n3_d, n4_a, n4_b, n4_c, n4_d, n5_a, n5_b, n5_c, n5_d, n6_a, n6_b, n6_c, n6_d, n7_a, n7_b, n7_c, n7_d, n8_a, n8_b, n8_c, n8_d, n9_a, n9_b, n9_c, n9_d, p1_b, p1_c, p1_d, p2_b, p2_c, p2_d, p3_b, p3_c, p3_d, p4_b, p4_c, p4_d, p5_b, p5_c, p5_d, p6_b, p6_c, p6_d, p7_b, p7_c, p7_d, p8_b, p8_c, p8_d, p9_b, p9_c, p9_d] -> {  : false }7 8 9;10;    void foo(long n1_a, long n1_b, long n1_c, long n1_d, long n2_a, long n2_b,11;             long n2_c, long n2_d, long n3_a, long n3_b, long n3_c, long n3_d,12;             long n4_a, long n4_b, long n4_c, long n4_d, long n5_a, long n5_b,13;             long n5_c, long n5_d, long n6_a, long n6_b, long n6_c, long n6_d,14;             long n7_a, long n7_b, long n7_c, long n7_d, long n8_a, long n8_b,15;             long n8_c, long n8_d, long n9_a, long n9_b, long n9_c, long n9_d,16;             long p1_b, long p1_c, long p1_d, long p2_b, long p2_c, long p2_d,17;             long p3_b, long p3_c, long p3_d, long p4_b, long p4_c, long p4_d,18;             long p5_b, long p5_c, long p5_d, long p6_b, long p6_c, long p6_d,19;             long p7_b, long p7_c, long p7_d, long p8_b, long p8_c, long p8_d,20;             long p9_b, long p9_c, long p9_d, float A_1[][p1_b][p1_c][p1_d],21;             float A_2[][p2_b][p2_c][p2_d], float A_3[][p3_b][p3_c][p3_d],22;             float A_4[][p4_b][p4_c][p4_d], float A_5[][p5_b][p5_c][p5_d],23;             float A_6[][p6_b][p6_c][p6_d], float A_7[][p7_b][p7_c][p7_d],24;             float A_8[][p8_b][p8_c][p8_d], float A_9[][p9_b][p9_c][p9_d]) {25;      for (long i = 0; i < n1_a; i++)26;        for (long j = 0; j < n1_b; j++)27;          for (long k = 0; k < n1_c; k++)28;            for (long l = 0; l < n1_d; l++)29;              A_1[i][j][k][l] += i + j + k + l;30;      for (long i = 0; i < n2_a; i++)31;        for (long j = 0; j < n2_b; j++)32;          for (long k = 0; k < n2_c; k++)33;            for (long l = 0; l < n2_d; l++)34;              A_2[i][j][k][l] += i + j + k + l;35;      for (long i = 0; i < n3_a; i++)36;        for (long j = 0; j < n3_b; j++)37;          for (long k = 0; k < n3_c; k++)38;            for (long l = 0; l < n3_d; l++)39;              A_3[i][j][k][l] += i + j + k + l;40;      for (long i = 0; i < n4_a; i++)41;        for (long j = 0; j < n4_b; j++)42;          for (long k = 0; k < n4_c; k++)43;            for (long l = 0; l < n4_d; l++)44;              A_4[i][j][k][l] += i + j + k + l;45;      for (long i = 0; i < n5_a; i++)46;        for (long j = 0; j < n5_b; j++)47;          for (long k = 0; k < n5_c; k++)48;            for (long l = 0; l < n5_d; l++)49;              A_5[i][j][k][l] += i + j + k + l;50;      for (long i = 0; i < n6_a; i++)51;        for (long j = 0; j < n6_b; j++)52;          for (long k = 0; k < n6_c; k++)53;            for (long l = 0; l < n6_d; l++)54;              A_6[i][j][k][l] += i + j + k + l;55;      for (long i = 0; i < n7_a; i++)56;        for (long j = 0; j < n7_b; j++)57;          for (long k = 0; k < n7_c; k++)58;            for (long l = 0; l < n7_d; l++)59;              A_7[i][j][k][l] += i + j + k + l;60;      for (long i = 0; i < n8_a; i++)61;        for (long j = 0; j < n8_b; j++)62;          for (long k = 0; k < n8_c; k++)63;            for (long l = 0; l < n8_d; l++)64;              A_8[i][j][k][l] += i + j + k + l;65;      for (long i = 0; i < n9_a; i++)66;        for (long j = 0; j < n9_b; j++)67;          for (long k = 0; k < n9_c; k++)68;            for (long l = 0; l < n9_d; l++)69;              A_9[i][j][k][l] += i + j + k + l;70;    }71;72target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"73 74define void @foo(i64 %n1_a, i64 %n1_b, i64 %n1_c, i64 %n1_d, i64 %n2_a, i64 %n2_b, i64 %n2_c, i64 %n2_d, i64 %n3_a, i64 %n3_b, i64 %n3_c, i64 %n3_d, i64 %n4_a, i64 %n4_b, i64 %n4_c, i64 %n4_d, i64 %n5_a, i64 %n5_b, i64 %n5_c, i64 %n5_d, i64 %n6_a, i64 %n6_b, i64 %n6_c, i64 %n6_d, i64 %n7_a, i64 %n7_b, i64 %n7_c, i64 %n7_d, i64 %n8_a, i64 %n8_b, i64 %n8_c, i64 %n8_d, i64 %n9_a, i64 %n9_b, i64 %n9_c, i64 %n9_d, i64 %p1_b, i64 %p1_c, i64 %p1_d, i64 %p2_b, i64 %p2_c, i64 %p2_d, i64 %p3_b, i64 %p3_c, i64 %p3_d, i64 %p4_b, i64 %p4_c, i64 %p4_d, i64 %p5_b, i64 %p5_c, i64 %p5_d, i64 %p6_b, i64 %p6_c, i64 %p6_d, i64 %p7_b, i64 %p7_c, i64 %p7_d, i64 %p8_b, i64 %p8_c, i64 %p8_d, i64 %p9_b, i64 %p9_c, i64 %p9_d, ptr %A_1, ptr %A_2, ptr %A_3, ptr %A_4, ptr %A_5, ptr %A_6, ptr %A_7, ptr %A_8, ptr %A_9) {75bb:76  br label %bb177 78bb1:                                              ; preds = %bb37, %bb79  %i.0 = phi i64 [ 0, %bb ], [ %tmp38, %bb37 ]80  %tmp = icmp slt i64 %i.0, %n1_a81  br i1 %tmp, label %bb2, label %bb3982 83bb2:                                              ; preds = %bb184  br label %bb385 86bb3:                                              ; preds = %bb34, %bb287  %j.0 = phi i64 [ 0, %bb2 ], [ %tmp35, %bb34 ]88  %tmp4 = icmp slt i64 %j.0, %n1_b89  br i1 %tmp4, label %bb5, label %bb3690 91bb5:                                              ; preds = %bb392  br label %bb693 94bb6:                                              ; preds = %bb31, %bb595  %k.0 = phi i64 [ 0, %bb5 ], [ %tmp32, %bb31 ]96  %tmp7 = icmp slt i64 %k.0, %n1_c97  br i1 %tmp7, label %bb8, label %bb3398 99bb8:                                              ; preds = %bb6100  br label %bb9101 102bb9:                                              ; preds = %bb28, %bb8103  %l.0 = phi i64 [ 0, %bb8 ], [ %tmp29, %bb28 ]104  %tmp10 = icmp slt i64 %l.0, %n1_d105  br i1 %tmp10, label %bb11, label %bb30106 107bb11:                                             ; preds = %bb9108  %tmp12 = add nuw nsw i64 %i.0, %j.0109  %tmp13 = add nsw i64 %tmp12, %k.0110  %tmp14 = add nsw i64 %tmp13, %l.0111  %tmp15 = sitofp i64 %tmp14 to float112  %tmp16 = mul nuw i64 %p1_b, %p1_c113  %tmp17 = mul nuw i64 %tmp16, %p1_d114  %tmp18 = mul nsw i64 %i.0, %tmp17115  %tmp19 = getelementptr inbounds float, ptr %A_1, i64 %tmp18116  %tmp20 = mul nuw i64 %p1_c, %p1_d117  %tmp21 = mul nsw i64 %j.0, %tmp20118  %tmp22 = getelementptr inbounds float, ptr %tmp19, i64 %tmp21119  %tmp23 = mul nsw i64 %k.0, %p1_d120  %tmp24 = getelementptr inbounds float, ptr %tmp22, i64 %tmp23121  %tmp25 = getelementptr inbounds float, ptr %tmp24, i64 %l.0122  %tmp26 = load float, ptr %tmp25, align 4123  %tmp27 = fadd float %tmp26, %tmp15124  store float %tmp27, ptr %tmp25, align 4125  br label %bb28126 127bb28:                                             ; preds = %bb11128  %tmp29 = add nuw nsw i64 %l.0, 1129  br label %bb9130 131bb30:                                             ; preds = %bb9132  br label %bb31133 134bb31:                                             ; preds = %bb30135  %tmp32 = add nuw nsw i64 %k.0, 1136  br label %bb6137 138bb33:                                             ; preds = %bb6139  br label %bb34140 141bb34:                                             ; preds = %bb33142  %tmp35 = add nuw nsw i64 %j.0, 1143  br label %bb3144 145bb36:                                             ; preds = %bb3146  br label %bb37147 148bb37:                                             ; preds = %bb36149  %tmp38 = add nuw nsw i64 %i.0, 1150  br label %bb1151 152bb39:                                             ; preds = %bb1153  br label %bb40154 155bb40:                                             ; preds = %bb77, %bb39156  %i1.0 = phi i64 [ 0, %bb39 ], [ %tmp78, %bb77 ]157  %tmp41 = icmp slt i64 %i1.0, %n2_a158  br i1 %tmp41, label %bb42, label %bb79159 160bb42:                                             ; preds = %bb40161  br label %bb43162 163bb43:                                             ; preds = %bb74, %bb42164  %j2.0 = phi i64 [ 0, %bb42 ], [ %tmp75, %bb74 ]165  %tmp44 = icmp slt i64 %j2.0, %n2_b166  br i1 %tmp44, label %bb45, label %bb76167 168bb45:                                             ; preds = %bb43169  br label %bb46170 171bb46:                                             ; preds = %bb71, %bb45172  %k3.0 = phi i64 [ 0, %bb45 ], [ %tmp72, %bb71 ]173  %tmp47 = icmp slt i64 %k3.0, %n2_c174  br i1 %tmp47, label %bb48, label %bb73175 176bb48:                                             ; preds = %bb46177  br label %bb49178 179bb49:                                             ; preds = %bb68, %bb48180  %l4.0 = phi i64 [ 0, %bb48 ], [ %tmp69, %bb68 ]181  %tmp50 = icmp slt i64 %l4.0, %n2_d182  br i1 %tmp50, label %bb51, label %bb70183 184bb51:                                             ; preds = %bb49185  %tmp52 = add nuw nsw i64 %i1.0, %j2.0186  %tmp53 = add nsw i64 %tmp52, %k3.0187  %tmp54 = add nsw i64 %tmp53, %l4.0188  %tmp55 = sitofp i64 %tmp54 to float189  %tmp56 = mul nuw i64 %p2_b, %p2_c190  %tmp57 = mul nuw i64 %tmp56, %p2_d191  %tmp58 = mul nsw i64 %i1.0, %tmp57192  %tmp59 = getelementptr inbounds float, ptr %A_2, i64 %tmp58193  %tmp60 = mul nuw i64 %p2_c, %p2_d194  %tmp61 = mul nsw i64 %j2.0, %tmp60195  %tmp62 = getelementptr inbounds float, ptr %tmp59, i64 %tmp61196  %tmp63 = mul nsw i64 %k3.0, %p2_d197  %tmp64 = getelementptr inbounds float, ptr %tmp62, i64 %tmp63198  %tmp65 = getelementptr inbounds float, ptr %tmp64, i64 %l4.0199  %tmp66 = load float, ptr %tmp65, align 4200  %tmp67 = fadd float %tmp66, %tmp55201  store float %tmp67, ptr %tmp65, align 4202  br label %bb68203 204bb68:                                             ; preds = %bb51205  %tmp69 = add nuw nsw i64 %l4.0, 1206  br label %bb49207 208bb70:                                             ; preds = %bb49209  br label %bb71210 211bb71:                                             ; preds = %bb70212  %tmp72 = add nuw nsw i64 %k3.0, 1213  br label %bb46214 215bb73:                                             ; preds = %bb46216  br label %bb74217 218bb74:                                             ; preds = %bb73219  %tmp75 = add nuw nsw i64 %j2.0, 1220  br label %bb43221 222bb76:                                             ; preds = %bb43223  br label %bb77224 225bb77:                                             ; preds = %bb76226  %tmp78 = add nuw nsw i64 %i1.0, 1227  br label %bb40228 229bb79:                                             ; preds = %bb40230  br label %bb80231 232bb80:                                             ; preds = %bb117, %bb79233  %i5.0 = phi i64 [ 0, %bb79 ], [ %tmp118, %bb117 ]234  %tmp81 = icmp slt i64 %i5.0, %n3_a235  br i1 %tmp81, label %bb82, label %bb119236 237bb82:                                             ; preds = %bb80238  br label %bb83239 240bb83:                                             ; preds = %bb114, %bb82241  %j6.0 = phi i64 [ 0, %bb82 ], [ %tmp115, %bb114 ]242  %tmp84 = icmp slt i64 %j6.0, %n3_b243  br i1 %tmp84, label %bb85, label %bb116244 245bb85:                                             ; preds = %bb83246  br label %bb86247 248bb86:                                             ; preds = %bb111, %bb85249  %k7.0 = phi i64 [ 0, %bb85 ], [ %tmp112, %bb111 ]250  %tmp87 = icmp slt i64 %k7.0, %n3_c251  br i1 %tmp87, label %bb88, label %bb113252 253bb88:                                             ; preds = %bb86254  br label %bb89255 256bb89:                                             ; preds = %bb108, %bb88257  %l8.0 = phi i64 [ 0, %bb88 ], [ %tmp109, %bb108 ]258  %tmp90 = icmp slt i64 %l8.0, %n3_d259  br i1 %tmp90, label %bb91, label %bb110260 261bb91:                                             ; preds = %bb89262  %tmp92 = add nuw nsw i64 %i5.0, %j6.0263  %tmp93 = add nsw i64 %tmp92, %k7.0264  %tmp94 = add nsw i64 %tmp93, %l8.0265  %tmp95 = sitofp i64 %tmp94 to float266  %tmp96 = mul nuw i64 %p3_b, %p3_c267  %tmp97 = mul nuw i64 %tmp96, %p3_d268  %tmp98 = mul nsw i64 %i5.0, %tmp97269  %tmp99 = getelementptr inbounds float, ptr %A_3, i64 %tmp98270  %tmp100 = mul nuw i64 %p3_c, %p3_d271  %tmp101 = mul nsw i64 %j6.0, %tmp100272  %tmp102 = getelementptr inbounds float, ptr %tmp99, i64 %tmp101273  %tmp103 = mul nsw i64 %k7.0, %p3_d274  %tmp104 = getelementptr inbounds float, ptr %tmp102, i64 %tmp103275  %tmp105 = getelementptr inbounds float, ptr %tmp104, i64 %l8.0276  %tmp106 = load float, ptr %tmp105, align 4277  %tmp107 = fadd float %tmp106, %tmp95278  store float %tmp107, ptr %tmp105, align 4279  br label %bb108280 281bb108:                                            ; preds = %bb91282  %tmp109 = add nuw nsw i64 %l8.0, 1283  br label %bb89284 285bb110:                                            ; preds = %bb89286  br label %bb111287 288bb111:                                            ; preds = %bb110289  %tmp112 = add nuw nsw i64 %k7.0, 1290  br label %bb86291 292bb113:                                            ; preds = %bb86293  br label %bb114294 295bb114:                                            ; preds = %bb113296  %tmp115 = add nuw nsw i64 %j6.0, 1297  br label %bb83298 299bb116:                                            ; preds = %bb83300  br label %bb117301 302bb117:                                            ; preds = %bb116303  %tmp118 = add nuw nsw i64 %i5.0, 1304  br label %bb80305 306bb119:                                            ; preds = %bb80307  br label %bb120308 309bb120:                                            ; preds = %bb157, %bb119310  %i9.0 = phi i64 [ 0, %bb119 ], [ %tmp158, %bb157 ]311  %tmp121 = icmp slt i64 %i9.0, %n4_a312  br i1 %tmp121, label %bb122, label %bb159313 314bb122:                                            ; preds = %bb120315  br label %bb123316 317bb123:                                            ; preds = %bb154, %bb122318  %j10.0 = phi i64 [ 0, %bb122 ], [ %tmp155, %bb154 ]319  %tmp124 = icmp slt i64 %j10.0, %n4_b320  br i1 %tmp124, label %bb125, label %bb156321 322bb125:                                            ; preds = %bb123323  br label %bb126324 325bb126:                                            ; preds = %bb151, %bb125326  %k11.0 = phi i64 [ 0, %bb125 ], [ %tmp152, %bb151 ]327  %tmp127 = icmp slt i64 %k11.0, %n4_c328  br i1 %tmp127, label %bb128, label %bb153329 330bb128:                                            ; preds = %bb126331  br label %bb129332 333bb129:                                            ; preds = %bb148, %bb128334  %l12.0 = phi i64 [ 0, %bb128 ], [ %tmp149, %bb148 ]335  %tmp130 = icmp slt i64 %l12.0, %n4_d336  br i1 %tmp130, label %bb131, label %bb150337 338bb131:                                            ; preds = %bb129339  %tmp132 = add nuw nsw i64 %i9.0, %j10.0340  %tmp133 = add nsw i64 %tmp132, %k11.0341  %tmp134 = add nsw i64 %tmp133, %l12.0342  %tmp135 = sitofp i64 %tmp134 to float343  %tmp136 = mul nuw i64 %p4_b, %p4_c344  %tmp137 = mul nuw i64 %tmp136, %p4_d345  %tmp138 = mul nsw i64 %i9.0, %tmp137346  %tmp139 = getelementptr inbounds float, ptr %A_4, i64 %tmp138347  %tmp140 = mul nuw i64 %p4_c, %p4_d348  %tmp141 = mul nsw i64 %j10.0, %tmp140349  %tmp142 = getelementptr inbounds float, ptr %tmp139, i64 %tmp141350  %tmp143 = mul nsw i64 %k11.0, %p4_d351  %tmp144 = getelementptr inbounds float, ptr %tmp142, i64 %tmp143352  %tmp145 = getelementptr inbounds float, ptr %tmp144, i64 %l12.0353  %tmp146 = load float, ptr %tmp145, align 4354  %tmp147 = fadd float %tmp146, %tmp135355  store float %tmp147, ptr %tmp145, align 4356  br label %bb148357 358bb148:                                            ; preds = %bb131359  %tmp149 = add nuw nsw i64 %l12.0, 1360  br label %bb129361 362bb150:                                            ; preds = %bb129363  br label %bb151364 365bb151:                                            ; preds = %bb150366  %tmp152 = add nuw nsw i64 %k11.0, 1367  br label %bb126368 369bb153:                                            ; preds = %bb126370  br label %bb154371 372bb154:                                            ; preds = %bb153373  %tmp155 = add nuw nsw i64 %j10.0, 1374  br label %bb123375 376bb156:                                            ; preds = %bb123377  br label %bb157378 379bb157:                                            ; preds = %bb156380  %tmp158 = add nuw nsw i64 %i9.0, 1381  br label %bb120382 383bb159:                                            ; preds = %bb120384  br label %bb160385 386bb160:                                            ; preds = %bb197, %bb159387  %i13.0 = phi i64 [ 0, %bb159 ], [ %tmp198, %bb197 ]388  %tmp161 = icmp slt i64 %i13.0, %n5_a389  br i1 %tmp161, label %bb162, label %bb199390 391bb162:                                            ; preds = %bb160392  br label %bb163393 394bb163:                                            ; preds = %bb194, %bb162395  %j14.0 = phi i64 [ 0, %bb162 ], [ %tmp195, %bb194 ]396  %tmp164 = icmp slt i64 %j14.0, %n5_b397  br i1 %tmp164, label %bb165, label %bb196398 399bb165:                                            ; preds = %bb163400  br label %bb166401 402bb166:                                            ; preds = %bb191, %bb165403  %k15.0 = phi i64 [ 0, %bb165 ], [ %tmp192, %bb191 ]404  %tmp167 = icmp slt i64 %k15.0, %n5_c405  br i1 %tmp167, label %bb168, label %bb193406 407bb168:                                            ; preds = %bb166408  br label %bb169409 410bb169:                                            ; preds = %bb188, %bb168411  %l16.0 = phi i64 [ 0, %bb168 ], [ %tmp189, %bb188 ]412  %tmp170 = icmp slt i64 %l16.0, %n5_d413  br i1 %tmp170, label %bb171, label %bb190414 415bb171:                                            ; preds = %bb169416  %tmp172 = add nuw nsw i64 %i13.0, %j14.0417  %tmp173 = add nsw i64 %tmp172, %k15.0418  %tmp174 = add nsw i64 %tmp173, %l16.0419  %tmp175 = sitofp i64 %tmp174 to float420  %tmp176 = mul nuw i64 %p5_b, %p5_c421  %tmp177 = mul nuw i64 %tmp176, %p5_d422  %tmp178 = mul nsw i64 %i13.0, %tmp177423  %tmp179 = getelementptr inbounds float, ptr %A_5, i64 %tmp178424  %tmp180 = mul nuw i64 %p5_c, %p5_d425  %tmp181 = mul nsw i64 %j14.0, %tmp180426  %tmp182 = getelementptr inbounds float, ptr %tmp179, i64 %tmp181427  %tmp183 = mul nsw i64 %k15.0, %p5_d428  %tmp184 = getelementptr inbounds float, ptr %tmp182, i64 %tmp183429  %tmp185 = getelementptr inbounds float, ptr %tmp184, i64 %l16.0430  %tmp186 = load float, ptr %tmp185, align 4431  %tmp187 = fadd float %tmp186, %tmp175432  store float %tmp187, ptr %tmp185, align 4433  br label %bb188434 435bb188:                                            ; preds = %bb171436  %tmp189 = add nuw nsw i64 %l16.0, 1437  br label %bb169438 439bb190:                                            ; preds = %bb169440  br label %bb191441 442bb191:                                            ; preds = %bb190443  %tmp192 = add nuw nsw i64 %k15.0, 1444  br label %bb166445 446bb193:                                            ; preds = %bb166447  br label %bb194448 449bb194:                                            ; preds = %bb193450  %tmp195 = add nuw nsw i64 %j14.0, 1451  br label %bb163452 453bb196:                                            ; preds = %bb163454  br label %bb197455 456bb197:                                            ; preds = %bb196457  %tmp198 = add nuw nsw i64 %i13.0, 1458  br label %bb160459 460bb199:                                            ; preds = %bb160461  br label %bb200462 463bb200:                                            ; preds = %bb237, %bb199464  %i17.0 = phi i64 [ 0, %bb199 ], [ %tmp238, %bb237 ]465  %tmp201 = icmp slt i64 %i17.0, %n6_a466  br i1 %tmp201, label %bb202, label %bb239467 468bb202:                                            ; preds = %bb200469  br label %bb203470 471bb203:                                            ; preds = %bb234, %bb202472  %j18.0 = phi i64 [ 0, %bb202 ], [ %tmp235, %bb234 ]473  %tmp204 = icmp slt i64 %j18.0, %n6_b474  br i1 %tmp204, label %bb205, label %bb236475 476bb205:                                            ; preds = %bb203477  br label %bb206478 479bb206:                                            ; preds = %bb231, %bb205480  %k19.0 = phi i64 [ 0, %bb205 ], [ %tmp232, %bb231 ]481  %tmp207 = icmp slt i64 %k19.0, %n6_c482  br i1 %tmp207, label %bb208, label %bb233483 484bb208:                                            ; preds = %bb206485  br label %bb209486 487bb209:                                            ; preds = %bb228, %bb208488  %l20.0 = phi i64 [ 0, %bb208 ], [ %tmp229, %bb228 ]489  %tmp210 = icmp slt i64 %l20.0, %n6_d490  br i1 %tmp210, label %bb211, label %bb230491 492bb211:                                            ; preds = %bb209493  %tmp212 = add nuw nsw i64 %i17.0, %j18.0494  %tmp213 = add nsw i64 %tmp212, %k19.0495  %tmp214 = add nsw i64 %tmp213, %l20.0496  %tmp215 = sitofp i64 %tmp214 to float497  %tmp216 = mul nuw i64 %p6_b, %p6_c498  %tmp217 = mul nuw i64 %tmp216, %p6_d499  %tmp218 = mul nsw i64 %i17.0, %tmp217500  %tmp219 = getelementptr inbounds float, ptr %A_6, i64 %tmp218501  %tmp220 = mul nuw i64 %p6_c, %p6_d502  %tmp221 = mul nsw i64 %j18.0, %tmp220503  %tmp222 = getelementptr inbounds float, ptr %tmp219, i64 %tmp221504  %tmp223 = mul nsw i64 %k19.0, %p6_d505  %tmp224 = getelementptr inbounds float, ptr %tmp222, i64 %tmp223506  %tmp225 = getelementptr inbounds float, ptr %tmp224, i64 %l20.0507  %tmp226 = load float, ptr %tmp225, align 4508  %tmp227 = fadd float %tmp226, %tmp215509  store float %tmp227, ptr %tmp225, align 4510  br label %bb228511 512bb228:                                            ; preds = %bb211513  %tmp229 = add nuw nsw i64 %l20.0, 1514  br label %bb209515 516bb230:                                            ; preds = %bb209517  br label %bb231518 519bb231:                                            ; preds = %bb230520  %tmp232 = add nuw nsw i64 %k19.0, 1521  br label %bb206522 523bb233:                                            ; preds = %bb206524  br label %bb234525 526bb234:                                            ; preds = %bb233527  %tmp235 = add nuw nsw i64 %j18.0, 1528  br label %bb203529 530bb236:                                            ; preds = %bb203531  br label %bb237532 533bb237:                                            ; preds = %bb236534  %tmp238 = add nuw nsw i64 %i17.0, 1535  br label %bb200536 537bb239:                                            ; preds = %bb200538  br label %bb240539 540bb240:                                            ; preds = %bb277, %bb239541  %i21.0 = phi i64 [ 0, %bb239 ], [ %tmp278, %bb277 ]542  %tmp241 = icmp slt i64 %i21.0, %n7_a543  br i1 %tmp241, label %bb242, label %bb279544 545bb242:                                            ; preds = %bb240546  br label %bb243547 548bb243:                                            ; preds = %bb274, %bb242549  %j22.0 = phi i64 [ 0, %bb242 ], [ %tmp275, %bb274 ]550  %tmp244 = icmp slt i64 %j22.0, %n7_b551  br i1 %tmp244, label %bb245, label %bb276552 553bb245:                                            ; preds = %bb243554  br label %bb246555 556bb246:                                            ; preds = %bb271, %bb245557  %k23.0 = phi i64 [ 0, %bb245 ], [ %tmp272, %bb271 ]558  %tmp247 = icmp slt i64 %k23.0, %n7_c559  br i1 %tmp247, label %bb248, label %bb273560 561bb248:                                            ; preds = %bb246562  br label %bb249563 564bb249:                                            ; preds = %bb268, %bb248565  %l24.0 = phi i64 [ 0, %bb248 ], [ %tmp269, %bb268 ]566  %tmp250 = icmp slt i64 %l24.0, %n7_d567  br i1 %tmp250, label %bb251, label %bb270568 569bb251:                                            ; preds = %bb249570  %tmp252 = add nuw nsw i64 %i21.0, %j22.0571  %tmp253 = add nsw i64 %tmp252, %k23.0572  %tmp254 = add nsw i64 %tmp253, %l24.0573  %tmp255 = sitofp i64 %tmp254 to float574  %tmp256 = mul nuw i64 %p7_b, %p7_c575  %tmp257 = mul nuw i64 %tmp256, %p7_d576  %tmp258 = mul nsw i64 %i21.0, %tmp257577  %tmp259 = getelementptr inbounds float, ptr %A_7, i64 %tmp258578  %tmp260 = mul nuw i64 %p7_c, %p7_d579  %tmp261 = mul nsw i64 %j22.0, %tmp260580  %tmp262 = getelementptr inbounds float, ptr %tmp259, i64 %tmp261581  %tmp263 = mul nsw i64 %k23.0, %p7_d582  %tmp264 = getelementptr inbounds float, ptr %tmp262, i64 %tmp263583  %tmp265 = getelementptr inbounds float, ptr %tmp264, i64 %l24.0584  %tmp266 = load float, ptr %tmp265, align 4585  %tmp267 = fadd float %tmp266, %tmp255586  store float %tmp267, ptr %tmp265, align 4587  br label %bb268588 589bb268:                                            ; preds = %bb251590  %tmp269 = add nuw nsw i64 %l24.0, 1591  br label %bb249592 593bb270:                                            ; preds = %bb249594  br label %bb271595 596bb271:                                            ; preds = %bb270597  %tmp272 = add nuw nsw i64 %k23.0, 1598  br label %bb246599 600bb273:                                            ; preds = %bb246601  br label %bb274602 603bb274:                                            ; preds = %bb273604  %tmp275 = add nuw nsw i64 %j22.0, 1605  br label %bb243606 607bb276:                                            ; preds = %bb243608  br label %bb277609 610bb277:                                            ; preds = %bb276611  %tmp278 = add nuw nsw i64 %i21.0, 1612  br label %bb240613 614bb279:                                            ; preds = %bb240615  br label %bb280616 617bb280:                                            ; preds = %bb317, %bb279618  %i25.0 = phi i64 [ 0, %bb279 ], [ %tmp318, %bb317 ]619  %tmp281 = icmp slt i64 %i25.0, %n8_a620  br i1 %tmp281, label %bb282, label %bb319621 622bb282:                                            ; preds = %bb280623  br label %bb283624 625bb283:                                            ; preds = %bb314, %bb282626  %j26.0 = phi i64 [ 0, %bb282 ], [ %tmp315, %bb314 ]627  %tmp284 = icmp slt i64 %j26.0, %n8_b628  br i1 %tmp284, label %bb285, label %bb316629 630bb285:                                            ; preds = %bb283631  br label %bb286632 633bb286:                                            ; preds = %bb311, %bb285634  %k27.0 = phi i64 [ 0, %bb285 ], [ %tmp312, %bb311 ]635  %tmp287 = icmp slt i64 %k27.0, %n8_c636  br i1 %tmp287, label %bb288, label %bb313637 638bb288:                                            ; preds = %bb286639  br label %bb289640 641bb289:                                            ; preds = %bb308, %bb288642  %l28.0 = phi i64 [ 0, %bb288 ], [ %tmp309, %bb308 ]643  %tmp290 = icmp slt i64 %l28.0, %n8_d644  br i1 %tmp290, label %bb291, label %bb310645 646bb291:                                            ; preds = %bb289647  %tmp292 = add nuw nsw i64 %i25.0, %j26.0648  %tmp293 = add nsw i64 %tmp292, %k27.0649  %tmp294 = add nsw i64 %tmp293, %l28.0650  %tmp295 = sitofp i64 %tmp294 to float651  %tmp296 = mul nuw i64 %p8_b, %p8_c652  %tmp297 = mul nuw i64 %tmp296, %p8_d653  %tmp298 = mul nsw i64 %i25.0, %tmp297654  %tmp299 = getelementptr inbounds float, ptr %A_8, i64 %tmp298655  %tmp300 = mul nuw i64 %p8_c, %p8_d656  %tmp301 = mul nsw i64 %j26.0, %tmp300657  %tmp302 = getelementptr inbounds float, ptr %tmp299, i64 %tmp301658  %tmp303 = mul nsw i64 %k27.0, %p8_d659  %tmp304 = getelementptr inbounds float, ptr %tmp302, i64 %tmp303660  %tmp305 = getelementptr inbounds float, ptr %tmp304, i64 %l28.0661  %tmp306 = load float, ptr %tmp305, align 4662  %tmp307 = fadd float %tmp306, %tmp295663  store float %tmp307, ptr %tmp305, align 4664  br label %bb308665 666bb308:                                            ; preds = %bb291667  %tmp309 = add nuw nsw i64 %l28.0, 1668  br label %bb289669 670bb310:                                            ; preds = %bb289671  br label %bb311672 673bb311:                                            ; preds = %bb310674  %tmp312 = add nuw nsw i64 %k27.0, 1675  br label %bb286676 677bb313:                                            ; preds = %bb286678  br label %bb314679 680bb314:                                            ; preds = %bb313681  %tmp315 = add nuw nsw i64 %j26.0, 1682  br label %bb283683 684bb316:                                            ; preds = %bb283685  br label %bb317686 687bb317:                                            ; preds = %bb316688  %tmp318 = add nuw nsw i64 %i25.0, 1689  br label %bb280690 691bb319:                                            ; preds = %bb280692  br label %bb320693 694bb320:                                            ; preds = %bb357, %bb319695  %i29.0 = phi i64 [ 0, %bb319 ], [ %tmp358, %bb357 ]696  %tmp321 = icmp slt i64 %i29.0, %n9_a697  br i1 %tmp321, label %bb322, label %bb359698 699bb322:                                            ; preds = %bb320700  br label %bb323701 702bb323:                                            ; preds = %bb354, %bb322703  %j30.0 = phi i64 [ 0, %bb322 ], [ %tmp355, %bb354 ]704  %tmp324 = icmp slt i64 %j30.0, %n9_b705  br i1 %tmp324, label %bb325, label %bb356706 707bb325:                                            ; preds = %bb323708  br label %bb326709 710bb326:                                            ; preds = %bb351, %bb325711  %k31.0 = phi i64 [ 0, %bb325 ], [ %tmp352, %bb351 ]712  %tmp327 = icmp slt i64 %k31.0, %n9_c713  br i1 %tmp327, label %bb328, label %bb353714 715bb328:                                            ; preds = %bb326716  br label %bb329717 718bb329:                                            ; preds = %bb348, %bb328719  %l32.0 = phi i64 [ 0, %bb328 ], [ %tmp349, %bb348 ]720  %tmp330 = icmp slt i64 %l32.0, %n9_d721  br i1 %tmp330, label %bb331, label %bb350722 723bb331:                                            ; preds = %bb329724  %tmp332 = add nuw nsw i64 %i29.0, %j30.0725  %tmp333 = add nsw i64 %tmp332, %k31.0726  %tmp334 = add nsw i64 %tmp333, %l32.0727  %tmp335 = sitofp i64 %tmp334 to float728  %tmp336 = mul nuw i64 %p9_b, %p9_c729  %tmp337 = mul nuw i64 %tmp336, %p9_d730  %tmp338 = mul nsw i64 %i29.0, %tmp337731  %tmp339 = getelementptr inbounds float, ptr %A_9, i64 %tmp338732  %tmp340 = mul nuw i64 %p9_c, %p9_d733  %tmp341 = mul nsw i64 %j30.0, %tmp340734  %tmp342 = getelementptr inbounds float, ptr %tmp339, i64 %tmp341735  %tmp343 = mul nsw i64 %k31.0, %p9_d736  %tmp344 = getelementptr inbounds float, ptr %tmp342, i64 %tmp343737  %tmp345 = getelementptr inbounds float, ptr %tmp344, i64 %l32.0738  %tmp346 = load float, ptr %tmp345, align 4739  %tmp347 = fadd float %tmp346, %tmp335740  store float %tmp347, ptr %tmp345, align 4741  br label %bb348742 743bb348:                                            ; preds = %bb331744  %tmp349 = add nuw nsw i64 %l32.0, 1745  br label %bb329746 747bb350:                                            ; preds = %bb329748  br label %bb351749 750bb351:                                            ; preds = %bb350751  %tmp352 = add nuw nsw i64 %k31.0, 1752  br label %bb326753 754bb353:                                            ; preds = %bb326755  br label %bb354756 757bb354:                                            ; preds = %bb353758  %tmp355 = add nuw nsw i64 %j30.0, 1759  br label %bb323760 761bb356:                                            ; preds = %bb323762  br label %bb357763 764bb357:                                            ; preds = %bb356765  %tmp358 = add nuw nsw i64 %i29.0, 1766  br label %bb320767 768bb359:                                            ; preds = %bb320769  ret void770}771