48 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly<no-default-opts>' -disable-output < %s2;3;4; void f(int *A) {5; for (int i = 1; i < 10; i++) {6; A[i]++;7; if (i > 10)8; A[i] += A[0];9; }10; }11;12target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"13 14define void @f(ptr %A) {15entry:16 br label %for.cond17 18for.cond: ; preds = %for.inc, %entry19 %indvars.iv = phi i64 [ %indvars.iv.next, %for.inc ], [ 1, %entry ]20 %exitcond = icmp ne i64 %indvars.iv, 1021 br i1 %exitcond, label %for.body, label %for.end22 23for.body: ; preds = %for.cond24 %arrayidx = getelementptr inbounds i32, ptr %A, i64 %indvars.iv25 %tmp = load i32, ptr %arrayidx, align 426 %inc = add nsw i32 %tmp, 127 store i32 %inc, ptr %arrayidx, align 428 br i1 false, label %if.then, label %if.end29 30if.then: ; preds = %for.body31 %tmp1 = load i32, ptr %A, align 432 %arrayidx4 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv33 %tmp2 = load i32, ptr %arrayidx4, align 434 %add = add nsw i32 %tmp2, %tmp135 store i32 %add, ptr %arrayidx4, align 436 br label %if.end37 38if.end: ; preds = %if.then, %for.body39 br label %for.inc40 41for.inc: ; preds = %if.end42 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 143 br label %for.cond44 45for.end: ; preds = %for.cond46 ret void47}48