44 lines · plain
1; RUN: opt %loadNPMPolly -polly-process-unprofitable '-passes=polly-custom<scops>' -polly-print-scops -polly-invariant-load-hoisting=true -disable-output < %s 2>&1 | FileCheck %s2;3; CHECK: Invariant Accesses:4; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0]5; CHECK-NEXT: { Stmt_bb2[i0] -> MemRef_C[0] };6;7; void f(int *A, int *C) {8; for (int i = 0; i < 1024; i++)9; if (*C)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 %C) {16bb:17 br label %bb118 19bb1: ; preds = %bb7, %bb20 %indvars.iv = phi i64 [ %indvars.iv.next, %bb7 ], [ 0, %bb ]21 %exitcond = icmp ne i64 %indvars.iv, 102422 br i1 %exitcond, label %bb2, label %bb823 24bb2: ; preds = %bb125 %tmp = load i32, ptr %C, align 426 %tmp3 = icmp eq i32 %tmp, 027 br i1 %tmp3, label %bb6, label %bb428 29bb4: ; preds = %bb230 %tmp5 = getelementptr inbounds i32, ptr %A, i64 %indvars.iv31 store i32 0, ptr %tmp5, align 432 br label %bb633 34bb6: ; preds = %bb2, %bb435 br label %bb736 37bb7: ; preds = %bb638 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 139 br label %bb140 41bb8: ; preds = %bb142 ret void43}44