43 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -disable-output < %s 2>&1 | FileCheck %s2;3; CHECK: Invalid Context:4; CHECK: [N] -> { : N >= 129 }5;6; void foo(float *A, long N) {7; for (long i = 0; i < N;)8; if ((signed char)i++ < 100)9; A[i] += i;10; }11define void @foo(ptr %A, i64 %N) {12bb:13 br label %bb114 15bb1: ; preds = %bb11, %bb16 %i.0 = phi i64 [ 0, %bb ], [ %tmp12, %bb11 ]17 %tmp = icmp slt i64 %i.0, %N18 br i1 %tmp, label %bb2, label %bb1319 20bb2: ; preds = %bb121 %tmp12 = add nuw nsw i64 %i.0, 122 %tmp3 = trunc i64 %i.0 to i823 %tmp4 = icmp slt i8 %tmp3, 10024 br i1 %tmp4, label %bb5, label %bb1025 26bb5: ; preds = %bb227 %tmp6 = sitofp i64 %i.0 to float28 %tmp7 = getelementptr inbounds float, ptr %A, i64 %i.029 %tmp8 = load float, ptr %tmp7, align 430 %tmp9 = fadd float %tmp8, %tmp631 store float %tmp9, ptr %tmp7, align 432 br label %bb1033 34bb10: ; preds = %bb5, %bb235 br label %bb1136 37bb11: ; preds = %bb1038 br label %bb139 40bb13: ; preds = %bb141 ret void42}43