Mercurial > hg > CbC > CbC_llvm
comparison polly/test/ScopInfo/run-time-check-read-only-arrays.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 |
---|---|
9 ; | 9 ; |
10 ; This test case verifies that we do not create run-time checks for two | 10 ; This test case verifies that we do not create run-time checks for two |
11 ; read-only arrays. | 11 ; read-only arrays. |
12 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | 12 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" |
13 | 13 |
14 define void @foo(float* %A, float* %B, float* %C, i64 %N) { | 14 define void @foo(ptr %A, ptr %B, ptr %C, i64 %N) { |
15 entry: | 15 entry: |
16 br label %for.body | 16 br label %for.body |
17 | 17 |
18 for.body: | 18 for.body: |
19 %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ] | 19 %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ] |
20 %arrayidx.A = getelementptr float, float* %A, i64 %indvar | 20 %arrayidx.A = getelementptr float, ptr %A, i64 %indvar |
21 %arrayidx.B = getelementptr float, float* %B, i64 %indvar | 21 %arrayidx.B = getelementptr float, ptr %B, i64 %indvar |
22 %arrayidx.C = getelementptr float, float* %C, i64 %indvar | 22 %arrayidx.C = getelementptr float, ptr %C, i64 %indvar |
23 %val.A = load float, float* %arrayidx.A | 23 %val.A = load float, ptr %arrayidx.A |
24 %val.B = load float, float* %arrayidx.B | 24 %val.B = load float, ptr %arrayidx.B |
25 %add = fadd float %val.A, %val.B | 25 %add = fadd float %val.A, %val.B |
26 store float %add, float* %arrayidx.C | 26 store float %add, ptr %arrayidx.C |
27 %indvar.next = add nsw i64 %indvar, 1 | 27 %indvar.next = add nsw i64 %indvar, 1 |
28 %exitcond = icmp ne i64 %indvar.next, %N | 28 %exitcond = icmp ne i64 %indvar.next, %N |
29 br i1 %exitcond, label %for.body, label %for.end | 29 br i1 %exitcond, label %for.body, label %for.end |
30 | 30 |
31 for.end: | 31 for.end: |