Lifetime intrinsics on undef are dead.
[oota-llvm.git] / test / Transforms / InstCombine / deadcode.ll
index 43c17931554882dfb2ca33002834608e8e2ddf23..7c7f1abc0ca662211aefd272227d8815ce2a9a3f 100644 (file)
@@ -1,5 +1,5 @@
-; RUN: llvm-as < %s | opt -instcombine | llvm-dis | grep {ret i32 %A}
-; RUN: llvm-as < %s | opt -die | llvm-dis | not grep call.*llvm.stacksave
+; RUN: opt < %s -instcombine -S | grep {ret i32 %A}
+; RUN: opt < %s -die -S | not grep call.*llvm
 
 define i32 @test(i32 %A) {
        %X = or i1 false, false         
@@ -22,3 +22,12 @@ define i32* @test2(i32 %width) {
 
 declare i8* @llvm.stacksave()
 
+declare void @llvm.lifetime.start(i64, i8*)
+declare void @llvm.lifetime.end(i64, i8*)
+
+define void @test3() {
+  call void @llvm.lifetime.start(i64 -1, i8* undef)
+  call void @llvm.lifetime.end(i64 -1, i8* undef)
+  ret void
+}
+