42 lines · plain
1; RUN: opt %loadNPMPolly -S '-passes=polly<no-default-opts>' < %s | FileCheck %s2;3; Check that this will not crash our code generation.4;5; CHECK: polly.start:6;7; void f(int *A, int N) {8; for (int i = 0; i < N / 4; i++)9; A[i] += A[i - 1];10; }11;12target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"13 14define void @f(ptr %A, i32 %N) {15bb:16 %tmp = sdiv i32 %N, 417 %tmp2 = sext i32 %tmp to i6418 br label %bb119 20bb1: ; preds = %bb11, %bb21 %indvars.iv = phi i64 [ %indvars.iv.next, %bb11 ], [ 0, %bb ]22 %tmp3 = icmp slt i64 %indvars.iv, %tmp223 br i1 %tmp3, label %bb4, label %bb1224 25bb4: ; preds = %bb126 %tmp5 = add nsw i64 %indvars.iv, -127 %tmp6 = getelementptr inbounds i32, ptr %A, i64 %tmp528 %tmp7 = load i32, ptr %tmp6, align 429 %tmp8 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv30 %tmp9 = load i32, ptr %tmp8, align 431 %tmp10 = add nsw i32 %tmp9, %tmp732 store i32 %tmp10, ptr %tmp8, align 433 br label %bb1134 35bb11: ; preds = %bb436 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 137 br label %bb138 39bb12: ; preds = %bb140 ret void41}42