brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 5e71e7a Raw
109 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<detect>' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s -check-prefix=DETECT2; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-detect -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s3;4; DETECT: Valid Region for Scop: for => return5;6; Check that this SCoP is allowed, even though the number of disjunct memory accesses of A7; is 11, greater than RunTimeChecksMaxAccessDisjuncts.8;9; CHECK: Function: func10; CHECK-NEXT: Region: %for---%return11 12define void @func(i64 %n, ptr nonnull %A, ptr nonnull %B, i64 %d) {13entry:14	  br label %for15for:16  %j = phi i64 [0, %entry], [%j.inc, %inc]17  %j.cmp = icmp slt i64 %j, %n18  br i1 %j.cmp, label %body, label %exit19 20body:21      %add.i.i = add nsw i64 1, %j22      %sub.i.i = sub nsw i64 %add.i.i, 123      %cmp.i.i.i = icmp sgt i64 %sub.i.i, 024      %cond.i.i.i = select i1 %cmp.i.i.i, i64 %sub.i.i, i64 025      %mul.i.i = mul nsw i64 %cond.i.i.i, 726      %sub1.i.i = sub nsw i64 1, %j27      %add2.i.i = add nsw i64 %sub1.i.i, 128      %cmp.i8.i.i = icmp sgt i64 %add2.i.i, 029      %cond.i11.i.i = select i1 %cmp.i8.i.i, i64 %add2.i.i, i64 030      %mul4.i.i = mul nsw i64 %cond.i11.i.i, 731      %add5.i.i = add nsw i64 %mul.i.i, %mul4.i.i32      %add.i113.i = add nsw i64 1, %j33      %sub.i114.i = sub nsw i64 %add.i113.i, 334      %cmp.i.i115.i = icmp sgt i64 %sub.i114.i, 035      %cond.i.i118.i = select i1 %cmp.i.i115.i, i64 %sub.i114.i, i64 036      %mul.i119.i = mul nsw i64 %cond.i.i118.i, 937      %sub1.i120.i = sub nsw i64 1, %j38      %add2.i121.i = add nsw i64 %sub1.i120.i, 339      %cmp.i8.i122.i = icmp sgt i64 %add2.i121.i, 040      %cond.i11.i126.i = select i1 %cmp.i8.i122.i, i64 %add2.i121.i, i64 041      %mul4.i127.i = mul nsw i64 %cond.i11.i126.i, 942      %add5.i128.i = add nsw i64 %mul.i119.i, %mul4.i127.i43      %add.i = add nsw i64 %add5.i.i, %add5.i128.i44      %add.i89.i = add nsw i64 1, %j45      %sub.i90.i = sub nsw i64 %add.i89.i, 446      %cmp.i.i91.i = icmp sgt i64 %sub.i90.i, 047      %cond.i.i94.i = select i1 %cmp.i.i91.i, i64 %sub.i90.i, i64 048      %mul.i95.i = mul nsw i64 %cond.i.i94.i, 1149      %sub1.i96.i = sub nsw i64 1, %j50      %add2.i97.i = add nsw i64 %sub1.i96.i, 451      %cmp.i8.i98.i = icmp sgt i64 %add2.i97.i, 052      %cond.i11.i102.i = select i1 %cmp.i8.i98.i, i64 %add2.i97.i, i64 053      %mul4.i103.i = mul nsw i64 %cond.i11.i102.i, 1154      %add5.i104.i = add nsw i64 %mul.i95.i, %mul4.i103.i55      %add3.i = add nsw i64 %add.i, %add5.i104.i56      %add.i65.i = add nsw i64 1, %j57      %sub.i66.i = sub nsw i64 %add.i65.i, 658      %cmp.i.i67.i = icmp sgt i64 %sub.i66.i, 059      %cond.i.i70.i = select i1 %cmp.i.i67.i, i64 %sub.i66.i, i64 060      %mul.i71.i = mul nsw i64 %cond.i.i70.i, 1361      %sub1.i72.i = sub nsw i64 1, %j62      %add2.i73.i = add nsw i64 %sub1.i72.i, 663      %cmp.i8.i74.i = icmp sgt i64 %add2.i73.i, 064      %cond.i11.i78.i = select i1 %cmp.i8.i74.i, i64 %add2.i73.i, i64 065      %mul4.i79.i = mul nsw i64 %cond.i11.i78.i, 1366      %add5.i80.i = add nsw i64 %mul.i71.i, %mul4.i79.i67      %add5.i = add nsw i64 %add3.i, %add5.i80.i68      %add.i41.i = add nsw i64 1, %j69      %sub.i42.i = sub nsw i64 %add.i41.i, 870      %cmp.i.i43.i = icmp sgt i64 %sub.i42.i, 071      %cond.i.i46.i = select i1 %cmp.i.i43.i, i64 %sub.i42.i, i64 072      %mul.i47.i = mul nsw i64 %cond.i.i46.i, 1773      %sub1.i48.i = sub nsw i64 1, %j74      %add2.i49.i = add nsw i64 %sub1.i48.i, 875      %cmp.i8.i50.i = icmp sgt i64 %add2.i49.i, 076      %cond.i11.i54.i = select i1 %cmp.i8.i50.i, i64 %add2.i49.i, i64 077      %mul4.i55.i = mul nsw i64 %cond.i11.i54.i, 1778      %add5.i56.i = add nsw i64 %mul.i47.i, %mul4.i55.i79      %add7.i = add nsw i64 %add5.i, %add5.i56.i80      %add.i17.i = add nsw i64 1, %j81      %sub.i18.i = sub nsw i64 %add.i17.i, 1082      %cmp.i.i19.i = icmp sgt i64 %sub.i18.i, 083      %cond.i.i22.i = select i1 %cmp.i.i19.i, i64 %sub.i18.i, i64 084      %mul.i23.i = mul nsw i64 %cond.i.i22.i, 1985      %sub1.i24.i = sub nsw i64 1, %j86      %add2.i25.i = add nsw i64 %sub1.i24.i, 1087      %cmp.i8.i26.i = icmp sgt i64 %add2.i25.i, 088      %cond.i11.i30.i = select i1 %cmp.i8.i26.i, i64 %add2.i25.i, i64 089      %mul4.i31.i = mul nsw i64 %cond.i11.i30.i, 1990      %add5.i32.i = add nsw i64 %mul.i23.i, %mul4.i31.i91      %idxprom = add nsw i64 %add7.i, %add5.i32.i92 93      %A_idx = getelementptr inbounds double, ptr %A, i64 %idxprom94      %val = load double, ptr %A_idx95      %B_idx = getelementptr inbounds double, ptr %B, i64 %j96      store double %val, ptr %B_idx97      br label %inc98 99inc:100	%j.inc = add nuw nsw i64 %j, 1101	br label %for102 103exit:104	br label %return105return:106	ret void107}108 109