Reapply r86359, "Teach dead store elimination that certain intrinsics write to
[oota-llvm.git] / test / Transforms / DeadStoreElimination / lifetime.ll
1 ; RUN: opt -S -dse < %s | FileCheck %s
2
3 declare void @llvm.lifetime.end(i64, i8*)
4 declare void @llvm.memset.i8(i8*, i8, i8, i32)
5
6 define void @test1() {
7 ; CHECK: @test1
8   %A = alloca i8
9
10   store i8 0, i8* %A  ;; Written to by memset
11   call void @llvm.lifetime.end(i64 1, i8* %A)
12 ; CHECK: lifetime.end
13
14   call void @llvm.memset.i8(i8* %A, i8 0, i8 -1, i32 0)
15 ; CHECK-NOT: memset
16
17   ret void
18 ; CHECK: ret void
19 }