blob: e31e9fa3ca6a154c49011c95fcd0e28c46b50fa2 [file] [log] [blame]
Nick Lewycky90271472009-11-10 06:46:40 +00001; RUN: opt -S -dse < %s | FileCheck %s
2
3declare void @llvm.memcpy.i8(i8*, i8*, i8, i32)
4declare void @llvm.memmove.i8(i8*, i8*, i8, i32)
5declare void @llvm.memset.i8(i8*, i8, i8, i32)
6
7define void @test1() {
8; CHECK: @test1
9 %A = alloca i8
10 %B = alloca i8
11
12 store i8 0, i8* %A ;; Written to by memcpy
13; CHECK-NOT: store
14
15 call void @llvm.memcpy.i8(i8* %A, i8* %B, i8 -1, i32 0)
16
17 ret void
18; CHECK: ret void
19}
20
21define void @test2() {
22; CHECK: @test2
23 %A = alloca i8
24 %B = alloca i8
25
26 store i8 0, i8* %A ;; Written to by memmove
27; CHECK-NOT: store
28
29 call void @llvm.memmove.i8(i8* %A, i8* %B, i8 -1, i32 0)
30
31 ret void
32; CHECK: ret void
33}
34
35define void @test3() {
36; CHECK: @test3
37 %A = alloca i8
38 %B = alloca i8
39
40 store i8 0, i8* %A ;; Written to by memset
41; CHECK-NOT: store
42
43 call void @llvm.memset.i8(i8* %A, i8 0, i8 -1, i32 0)
44
45 ret void
46; CHECK: ret void
47}