71 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; void f(int *A, int c, int N) {4; int tmp;5; for (int i = 0; i < N; i++) {6; if (i > c)7; tmp = 3;8; else9; tmp = 5;10; A[i] = tmp;11; }12; }13;14; CHECK: Statements {15; CHECK-LABEL: Stmt_bb616; CHECK-NOT: Access17; CHECK: MustWriteAccess := [Reduction Type: NONE] [Scalar: 1]18; CHECK: [N, c] -> { Stmt_bb6[i0] -> MemRef_tmp_0__phi[] };19; CHECK-NOT: Access20; CHECK-LABEL: Stmt_bb721; CHECK-NOT: Access22; CHECK: MustWriteAccess := [Reduction Type: NONE] [Scalar: 1]23; CHECK: [N, c] -> { Stmt_bb7[i0] -> MemRef_tmp_0__phi[] };24; CHECK-NOT: Access25; CHECK-LABEL: Stmt_bb826; CHECK-NOT: Access27; CHECK: ReadAccess := [Reduction Type: NONE] [Scalar: 1]28; CHECK: [N, c] -> { Stmt_bb8[i0] -> MemRef_tmp_0__phi[] };29; CHECK-NOT: Access30; CHECK: MustWriteAccess := [Reduction Type: NONE] [Scalar: 0]31; CHECK: [N, c] -> { Stmt_bb8[i0] -> MemRef_A[i0] };32; CHECK-NOT: Access33; CHECK: }34 35target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"36 37define void @f(ptr %A, i32 %c, i32 %N) {38bb:39 %tmp = sext i32 %N to i6440 %tmp1 = sext i32 %c to i6441 br label %bb242 43bb2: ; preds = %bb10, %bb44 %indvars.iv = phi i64 [ %indvars.iv.next, %bb10 ], [ 0, %bb ]45 %tmp3 = icmp slt i64 %indvars.iv, %tmp46 br i1 %tmp3, label %bb4, label %bb1147 48bb4: ; preds = %bb249 %tmp5 = icmp sgt i64 %indvars.iv, %tmp150 br i1 %tmp5, label %bb6, label %bb751 52bb6: ; preds = %bb453 br label %bb854 55bb7: ; preds = %bb456 br label %bb857 58bb8: ; preds = %bb7, %bb659 %tmp.0 = phi i32 [ 3, %bb6 ], [ 5, %bb7 ]60 %tmp9 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv61 store i32 %tmp.0, ptr %tmp9, align 462 br label %bb1063 64bb10: ; preds = %bb865 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 166 br label %bb267 68bb11: ; preds = %bb269 ret void70}71