40 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; void f(char *A, char N, char p) {4; for (char i = 0; i < N; i++)5; A[p-1] = 0;6; }7 8; CHECK: Function: wrap9;10; CHECK: Context:11; CHECK-NEXT: [N, p] -> { : -128 <= N <= 127 and -128 <= p <= 127 }12;13; CHECK: Invalid Context:14; CHECK-NEXT: [N, p] -> { : p = -128 and N > 0 }15 16target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"17 18define void @wrap(ptr %A, i8 %N, i8 %p) {19bb:20 br label %bb221 22bb2: ; preds = %bb7, %bb23 %indvars.iv = phi i8 [ %indvars.iv.next, %bb7 ], [ 0, %bb ]24 %tmp3 = icmp slt i8 %indvars.iv, %N25 br i1 %tmp3, label %bb4, label %bb826 27bb4: ; preds = %bb228 %tmp5 = add i8 %p, -129 %tmp6 = getelementptr i8, ptr %A, i8 %tmp530 store i8 0, ptr %tmp6, align 431 br label %bb732 33bb7: ; preds = %bb434 %indvars.iv.next = add nuw nsw i8 %indvars.iv, 135 br label %bb236 37bb8: ; preds = %bb238 ret void39}40