45 lines · plain
1; RUN: opt %loadNPMPolly '-passes=polly-custom<import-jscop;codegen>' -polly-import-jscop-postfix=transformed -S < %s | FileCheck %s2;3; Partial write of an array access.4;5; for (int j = 0; j < n; j += 1)6; A[0] = 42.07;8 9define void @partial_write_array(i32 %n, ptr noalias nonnull %A) {10entry:11 br label %for12 13for:14 %j = phi i32 [0, %entry], [%j.inc, %inc]15 %j.cmp = icmp slt i32 %j, %n16 br i1 %j.cmp, label %body, label %exit17 18 body:19 store double 42.0, ptr %A20 br label %inc21 22inc:23 %j.inc = add nuw nsw i32 %j, 124 br label %for25 26exit:27 br label %return28 29return:30 ret void31}32 33 34; CHECK: polly.stmt.body:35; CHECK-NEXT: %1 = icmp sge i64 %polly.indvar, 536; CHECK-NEXT: %polly.Stmt_body_Write0.cond = icmp ne i1 %1, false37; CHECK-NEXT: br i1 %polly.Stmt_body_Write0.cond, label %polly.stmt.body.Stmt_body_Write0.partial, label %polly.stmt.body.cont38 39; CHECK: polly.stmt.body.Stmt_body_Write0.partial:40; CHECK-NEXT: %polly.access.A = getelementptr double, ptr %A, i64 041; CHECK-NEXT: store double 4.200000e+01, ptr %polly.access.A, align 8, !alias.scope !2, !noalias !542; CHECK-NEXT: br label %polly.stmt.body.cont43 44; CHECK: polly.stmt.body.cont:45