47 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s3;4; CHECK: Invalid Context:5; CHECK: [N] -> { : N >= 129 }6;7; #include <stdlib.h>8; #include <stdio.h>9;10; void __attribute__((noinline)) foo(float *A, long N) {11; for (long i = 0; i < N; i++)12; if ((signed char)i < 100)13; A[i] += i;14; }15define void @foo(ptr %A, i64 %N) {16bb:17 br label %bb118 19bb1: ; preds = %bb11, %bb20 %i.0 = phi i64 [ 0, %bb ], [ %tmp12, %bb11 ]21 %tmp = icmp slt i64 %i.0, %N22 br i1 %tmp, label %bb2, label %bb1323 24bb2: ; preds = %bb125 %tmp3 = trunc i64 %i.0 to i826 %tmp4 = icmp slt i8 %tmp3, 10027 br i1 %tmp4, label %bb5, label %bb1028 29bb5: ; preds = %bb230 %tmp6 = sitofp i64 %i.0 to float31 %tmp7 = getelementptr inbounds float, ptr %A, i64 %i.032 %tmp8 = load float, ptr %tmp7, align 433 %tmp9 = fadd float %tmp8, %tmp634 store float %tmp9, ptr %tmp7, align 435 br label %bb1036 37bb10: ; preds = %bb5, %bb238 br label %bb1139 40bb11: ; preds = %bb1041 %tmp12 = add nuw nsw i64 %i.0, 142 br label %bb143 44bb13: ; preds = %bb145 ret void46}47