annotate polly/test/CodeGen/partial_write_array.ll @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
1 ; RUN: opt %loadPolly -polly-import-jscop -polly-import-jscop-postfix=transformed -polly-codegen -S < %s | FileCheck %s
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
2 ;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
3 ; Partial write of an array access.
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
4 ;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
5 ; for (int j = 0; j < n; j += 1)
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
6 ; A[0] = 42.0
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
7 ;
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
8
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
9 define void @partial_write_array(i32 %n, ptr noalias nonnull %A) {
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
10 entry:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
11 br label %for
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
12
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
13 for:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
14 %j = phi i32 [0, %entry], [%j.inc, %inc]
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
15 %j.cmp = icmp slt i32 %j, %n
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
16 br i1 %j.cmp, label %body, label %exit
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
17
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
18 body:
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
19 store double 42.0, ptr %A
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
20 br label %inc
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
21
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
22 inc:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
23 %j.inc = add nuw nsw i32 %j, 1
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
24 br label %for
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
25
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
26 exit:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
27 br label %return
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
28
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
29 return:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
30 ret void
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
31 }
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
32
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
33
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
34 ; CHECK: polly.stmt.body:
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
35 ; CHECK-NEXT: %1 = icmp sge i64 %polly.indvar, 5
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
36 ; CHECK-NEXT: %polly.Stmt_body_Write0.cond = icmp ne i1 %1, false
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
37 ; CHECK-NEXT: br i1 %polly.Stmt_body_Write0.cond, label %polly.stmt.body.Stmt_body_Write0.partial, label %polly.stmt.body.cont
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
38
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
39 ; CHECK: polly.stmt.body.Stmt_body_Write0.partial:
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
40 ; CHECK-NEXT: %polly.access.A = getelementptr double, ptr %A, i64 0
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
41 ; CHECK-NEXT: store double 4.200000e+01, ptr %polly.access.A, align 8, !alias.scope !0, !noalias !3
236
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
42 ; CHECK-NEXT: br label %polly.stmt.body.cont
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
43
c4bab56944e8 LLVM 16
kono
parents:
diff changeset
44 ; CHECK: polly.stmt.body.cont: