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