Mercurial > hg > CbC > CbC_llvm
comparison polly/test/CodeGen/memcpy_annotations.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 |
---|---|
7 ; for (int j = 0; j < n; j += 1) { | 7 ; for (int j = 0; j < n; j += 1) { |
8 ; memcpy(A, B, 8); | 8 ; memcpy(A, B, 8); |
9 ; } | 9 ; } |
10 ; | 10 ; |
11 | 11 |
12 declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i32, i1) | 12 declare void @llvm.memcpy.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i32, i1) |
13 | 13 |
14 define void @func(i32 %n, i8* noalias nonnull %A, i8* noalias nonnull %B) { | 14 define void @func(i32 %n, ptr noalias nonnull %A, ptr noalias nonnull %B) { |
15 entry: | 15 entry: |
16 br label %for | 16 br label %for |
17 | 17 |
18 for: | 18 for: |
19 %j = phi i32 [0, %entry], [%j.inc, %inc] | 19 %j = phi i32 [0, %entry], [%j.inc, %inc] |
20 %j.cmp = icmp slt i32 %j, %n | 20 %j.cmp = icmp slt i32 %j, %n |
21 br i1 %j.cmp, label %body, label %exit | 21 br i1 %j.cmp, label %body, label %exit |
22 | 22 |
23 body: | 23 body: |
24 call void @llvm.memcpy.p0i8.p0i8.i64(i8* nonnull %A, i8* %B, i64 8, i32 4, i1 false) | 24 call void @llvm.memcpy.p0.p0.i64(ptr nonnull %A, ptr %B, i64 8, i32 4, i1 false) |
25 br label %inc | 25 br label %inc |
26 | 26 |
27 inc: | 27 inc: |
28 %j.inc = add nuw nsw i32 %j, 1 | 28 %j.inc = add nuw nsw i32 %j, 1 |
29 br label %for | 29 br label %for |