1; RUN: opt %loadNPMPolly -passes=polly-codegen -polly-invariant-load-hoisting=true -polly-process-unprofitable -S < %s | FileCheck %s 2; 3; CHECK: polly.start 4; 5; void f(int *A, int *UB) { 6; for (int i = 0; i < *UB; i++) 7; A[i] = 0; 8; } 9; 10target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 11 12define void @f(ptr %A, ptr %UB) { 13bb: 14 br label %bb1 15 16bb1: ; preds = %bb6, %bb 17 %indvars.iv = phi i64 [ %indvars.iv.next, %bb6 ], [ 0, %bb ] 18 %tmp = load i32, ptr %UB, align 4 19 %tmp2 = sext i32 %tmp to i64 20 %tmp3 = icmp slt i64 %indvars.iv, %tmp2 21 br i1 %tmp3, label %bb4, label %bb7 22 23bb4: ; preds = %bb1 24 %tmp5 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv 25 store i32 0, ptr %tmp5, align 4 26 br label %bb6 27 28bb6: ; preds = %bb4 29 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 30 br label %bb1 31 32bb7: ; preds = %bb1 33 ret void 34} 35