Mercurial > hg > CbC > CbC_llvm
comparison polly/test/CodeGen/partial_write_mapped_scalar.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 |
comparison
equal
deleted
inserted
replaced
237:c80f45b162ad | 252:1f2b6ac9f198 |
---|---|
8 ; if (j >= 5) | 8 ; if (j >= 5) |
9 ;user: | 9 ;user: |
10 ; A[0] = val; | 10 ; A[0] = val; |
11 ; } | 11 ; } |
12 | 12 |
13 define void @partial_write_mapped_scalar(i32 %n, double* noalias nonnull %A) { | 13 define void @partial_write_mapped_scalar(i32 %n, ptr noalias nonnull %A) { |
14 entry: | 14 entry: |
15 br label %for | 15 br label %for |
16 | 16 |
17 for: | 17 for: |
18 %j = phi i32 [0, %entry], [%j.inc, %inc] | 18 %j = phi i32 [0, %entry], [%j.inc, %inc] |
23 %val = fadd double 21.0, 21.0 | 23 %val = fadd double 21.0, 21.0 |
24 %if.cond = icmp sgt i32 %j, 5 | 24 %if.cond = icmp sgt i32 %j, 5 |
25 br i1 %if.cond, label %user, label %inc | 25 br i1 %if.cond, label %user, label %inc |
26 | 26 |
27 user: | 27 user: |
28 store double %val, double* %A | 28 store double %val, ptr %A |
29 br label %inc | 29 br label %inc |
30 | 30 |
31 inc: | 31 inc: |
32 %j.inc = add nuw nsw i32 %j, 1 | 32 %j.inc = add nuw nsw i32 %j, 1 |
33 br label %for | 33 br label %for |
47 ; CHECK-NEXT: %2 = icmp sge i64 %polly.indvar, 5 | 47 ; CHECK-NEXT: %2 = icmp sge i64 %polly.indvar, 5 |
48 ; CHECK-NEXT: %polly.Stmt_body_Write0.cond = icmp ne i1 %2, false | 48 ; CHECK-NEXT: %polly.Stmt_body_Write0.cond = icmp ne i1 %2, false |
49 ; CHECK-NEXT: br i1 %polly.Stmt_body_Write0.cond, label %polly.stmt.body.Stmt_body_Write0.partial, label %polly.stmt.body.cont | 49 ; CHECK-NEXT: br i1 %polly.Stmt_body_Write0.cond, label %polly.stmt.body.Stmt_body_Write0.partial, label %polly.stmt.body.cont |
50 | 50 |
51 ; CHECK: polly.stmt.body.Stmt_body_Write0.partial: | 51 ; CHECK: polly.stmt.body.Stmt_body_Write0.partial: |
52 ; CHECK-NEXT: %polly.access.A = getelementptr double, double* %A, i64 1 | 52 ; CHECK-NEXT: %polly.access.A = getelementptr double, ptr %A, i64 1 |
53 ; CHECK-NEXT: store double %p_val, double* %polly.access.A | 53 ; CHECK-NEXT: store double %p_val, ptr %polly.access.A |
54 ; CHECK-NEXT: br label %polly.stmt.body.cont | 54 ; CHECK-NEXT: br label %polly.stmt.body.cont |
55 | 55 |
56 ; CHECK: polly.stmt.body.cont: | 56 ; CHECK: polly.stmt.body.cont: |
57 ; CHECK-NEXT: br label %polly.cond | 57 ; CHECK-NEXT: br label %polly.cond |