[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / Transforms / SimplifyCFG / lifetime.ll
blob270fe4d544228f93af41498f5c3d5d3edfbf79d5
1 ; RUN: opt < %s -simplifycfg -S | FileCheck %s
3 ; Test that a lifetime intrinsic isn't removed because that would change semantics
5 ; CHECK: foo
6 ; CHECK: entry:
7 ; CHECK: bb0:
8 ; CHECK: bb1:
9 ; CHECK: ret
10 define void @foo(i1 %x) {
11 entry:
12   %a = alloca i8
13   call void @llvm.lifetime.start.p0i8(i64 -1, i8* %a) nounwind
14   br i1 %x, label %bb0, label %bb1
16 bb0:
17   call void @llvm.lifetime.end.p0i8(i64 -1, i8* %a) nounwind
18   br label %bb1
20 bb1:
21   call void @f()
22   ret void
25 declare void @f()
27 declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) nounwind
29 declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) nounwind