62 lines · plain
1; RUN: opt %loadNPMPolly -polly-allow-nonaffine '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; void f(int *A) {4; for (int i = 0; i < 128; i++)5; for (int j = 0; j < 16; j++)6; A[i * j]++;7; }8;9; CHECK: Statements {10; CHECK-NEXT: Stmt_bb711; CHECK-NEXT: Domain :=12; CHECK-NEXT: { Stmt_bb7[i0, i1] : 0 <= i0 <= 127 and 0 <= i1 <= 15 };13; CHECK-NEXT: Schedule :=14; CHECK-NEXT: { Stmt_bb7[i0, i1] -> [i0, i1] };15; CHECK-NEXT: ReadAccess := [Reduction Type: +] [Scalar: 0]16; CHECK-NEXT: { Stmt_bb7[i0, i1] -> MemRef_A[o0] : 0 <= o0 <= 2048 };17; CHECK-NEXT: MayWriteAccess := [Reduction Type: +] [Scalar: 0]18; CHECK-NEXT: { Stmt_bb7[i0, i1] -> MemRef_A[o0] : 0 <= o0 <= 2048 };19; CHECK-NEXT: }20;21target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"22 23define void @f(ptr %A) {24bb:25 br label %bb426 27bb4: ; preds = %bb13, %bb28 %indvars.iv1 = phi i64 [ %indvars.iv.next2, %bb13 ], [ 0, %bb ]29 %exitcond3 = icmp ne i64 %indvars.iv1, 12830 br i1 %exitcond3, label %bb5, label %bb1431 32bb5: ; preds = %bb433 br label %bb634 35bb6: ; preds = %bb11, %bb536 %indvars.iv = phi i64 [ %indvars.iv.next, %bb11 ], [ 0, %bb5 ]37 %exitcond = icmp ne i64 %indvars.iv, 1638 br i1 %exitcond, label %bb7, label %bb1239 40bb7: ; preds = %bb641 %tmp = mul nsw i64 %indvars.iv1, %indvars.iv42 %tmp8 = getelementptr inbounds i32, ptr %A, i64 %tmp43 %tmp9 = load i32, ptr %tmp8, align 444 %tmp10 = add nsw i32 %tmp9, 145 store i32 %tmp10, ptr %tmp8, align 446 br label %bb1147 48bb11: ; preds = %bb749 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 150 br label %bb651 52bb12: ; preds = %bb653 br label %bb1354 55bb13: ; preds = %bb1256 %indvars.iv.next2 = add nuw nsw i64 %indvars.iv1, 157 br label %bb458 59bb14: ; preds = %bb460 ret void61}62