Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(350)

Side by Side Diff: test/Transforms/NaCl/canonicalize-mem-intrinsics.ll

Issue 939073008: Rebased PNaCl localmods in LLVM to 223109 (Closed)
Patch Set: undo localmod Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/Transforms/NaCl/atomic/volatile.ll ('k') | test/Transforms/NaCl/combine-shuffle-vector.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ; RUN: opt %s -canonicalize-mem-intrinsics -S | FileCheck %s
2 ; RUN: opt %s -canonicalize-mem-intrinsics -S \
3 ; RUN: | FileCheck %s -check-prefix=CLEANED
4
5 declare void @llvm.memset.p0i8.i64(i8*, i8, i64, i32, i1)
6 declare void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1)
7 declare void @llvm.memmove.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1)
8 ; CLEANED-NOT: @llvm.mem{{.*}}i64
9
10
11 define void @memset_caller(i8* %dest, i8 %char, i64 %size) {
12 call void @llvm.memset.p0i8.i64(i8* %dest, i8 %char, i64 %size, i32 1, i1 0)
13 ret void
14 }
15 ; CHECK: define void @memset_caller
16 ; CHECK-NEXT: %mem_len_truncate = trunc i64 %size to i32
17 ; CHECK-NEXT: call void @llvm.memset.p0i8.i32(i8* %dest, i8 %char, i32 %mem_len_ truncate, i32 1, i1 false)
18
19
20 define void @memcpy_caller(i8* %dest, i8* %src, i64 %size) {
21 call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dest, i8* %src, i64 %size, i32 1, i1 0)
22 ret void
23 }
24 ; CHECK: define void @memcpy_caller
25 ; CHECK-NEXT: %mem_len_truncate = trunc i64 %size to i32
26 ; CHECK-NEXT: call void @llvm.memcpy.p0i8.p0i8.i32(i8* %dest, i8* %src, i32 %mem _len_truncate, i32 1, i1 false)
27
28
29 define void @memmove_caller(i8* %dest, i8* %src, i64 %size) {
30 call void @llvm.memmove.p0i8.p0i8.i64(i8* %dest, i8* %src, i64 %size, i32 1, i 1 0)
31 ret void
32 }
33 ; CHECK: define void @memmove_caller
34 ; CHECK-NEXT: %mem_len_truncate = trunc i64 %size to i32
35 ; CHECK-NEXT: call void @llvm.memmove.p0i8.p0i8.i32(i8* %dest, i8* %src, i32 %me m_len_truncate, i32 1, i1 false)
36
37
38 ; Check that constant sizes remain as constants.
39
40 define void @memset_caller_const(i8* %dest, i8 %char) {
41 call void @llvm.memset.p0i8.i64(i8* %dest, i8 %char, i64 123, i32 1, i1 0)
42 ret void
43 }
44 ; CHECK: define void @memset_caller
45 ; CHECK-NEXT: call void @llvm.memset.p0i8.i32(i8* %dest, i8 %char, i32 123, i32 1, i1 false)
OLDNEW
« no previous file with comments | « test/Transforms/NaCl/atomic/volatile.ll ('k') | test/Transforms/NaCl/combine-shuffle-vector.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698