38 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s2; RUN: opt %loadNPMPolly '-passes=polly-custom<scops>' -polly-print-scops -polly-invariant-load-hoisting=true -polly-process-unprofitable -disable-output < %s 2>&1 | FileCheck %s3;4; CHECK: Invariant Accesses:5; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0]6; CHECK-NEXT: { Stmt_bb1[i0] -> MemRef_UB[0] };7;8; void f(int *A, int *UB) {9; for (int i = 0; i < *UB; i++)10; A[i] = 0;11; }12;13target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"14 15define void @f(ptr %A, ptr %UB) {16bb:17 br label %bb118 19bb1: ; preds = %bb6, %bb20 %indvars.iv = phi i64 [ %indvars.iv.next, %bb6 ], [ 0, %bb ]21 %tmp = load i32, ptr %UB, align 422 %tmp2 = sext i32 %tmp to i6423 %tmp3 = icmp slt i64 %indvars.iv, %tmp224 br i1 %tmp3, label %bb4, label %bb725 26bb4: ; preds = %bb127 %tmp5 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv28 store i32 0, ptr %tmp5, align 429 br label %bb630 31bb6: ; preds = %bb432 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 133 br label %bb134 35bb7: ; preds = %bb136 ret void37}38