43 lines · plain
1; RUN: opt %loadNPMPolly -polly-allow-nonaffine-branches '-passes=polly-custom<detect>' -polly-print-detect -disable-output < %s 2>&1 | FileCheck %s2;3; void f(int *A) {4; for (int i = 0; i < 1024; i++)5; if (A[i])6; A[i] = 0;7; }8;9; CHECK: Valid Region for Scop: bb1 => bb910;11target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"12 13define void @f(ptr %A) {14bb:15 br label %bb116 17bb1: ; preds = %bb8, %bb18 %indvars.iv = phi i64 [ %indvars.iv.next, %bb8 ], [ 0, %bb ]19 %exitcond = icmp ne i64 %indvars.iv, 102420 br i1 %exitcond, label %bb2, label %bb921 22bb2: ; preds = %bb123 %tmp = getelementptr inbounds i32, ptr %A, i64 %indvars.iv24 %tmp3 = load i32, ptr %tmp, align 425 %tmp4 = icmp eq i32 %tmp3, 026 br i1 %tmp4, label %bb7, label %bb527 28bb5: ; preds = %bb229 %tmp6 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv30 store i32 0, ptr %tmp6, align 431 br label %bb732 33bb7: ; preds = %bb2, %bb534 br label %bb835 36bb8: ; preds = %bb737 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 138 br label %bb139 40bb9: ; preds = %bb141 ret void42}43