1 // compile-flags: -O -C no-prepopulate-passes
9 &a; // keep variable in an alloca
11 // CHECK: [[S_a:%[0-9]+]] = bitcast i32* %a to i8*
12 // CHECK: call void @llvm.lifetime.start{{.*}}(i{{[0-9 ]+}}, i8* [[S_a]])
16 &b; // keep variable in an alloca
18 // CHECK: [[S_b:%[0-9]+]] = bitcast { i32, i32 }** %b to i8*
19 // CHECK: call void @llvm.lifetime.start{{.*}}(i{{[0-9 ]+}}, i8* [[S_b]])
21 // CHECK: [[S__4:%[0-9]+]] = bitcast { i32, i32 }* %_4 to i8*
22 // CHECK: call void @llvm.lifetime.start{{.*}}(i{{[0-9 ]+}}, i8* [[S__4]])
24 // CHECK: [[E__4:%[0-9]+]] = bitcast { i32, i32 }* %_4 to i8*
25 // CHECK: call void @llvm.lifetime.end{{.*}}(i{{[0-9 ]+}}, i8* [[E__4]])
27 // CHECK: [[E_b:%[0-9]+]] = bitcast { i32, i32 }** %b to i8*
28 // CHECK: call void @llvm.lifetime.end{{.*}}(i{{[0-9 ]+}}, i8* [[E_b]])
32 &c; // keep variable in an alloca
34 // CHECK: [[S_c:%[0-9]+]] = bitcast i32* %c to i8*
35 // CHECK: call void @llvm.lifetime.start{{.*}}(i{{[0-9 ]+}}, i8* [[S_c]])
37 // CHECK: [[E_c:%[0-9]+]] = bitcast i32* %c to i8*
38 // CHECK: call void @llvm.lifetime.end{{.*}}(i{{[0-9 ]+}}, i8* [[E_c]])
40 // CHECK: [[E_a:%[0-9]+]] = bitcast i32* %a to i8*
41 // CHECK: call void @llvm.lifetime.end{{.*}}(i{{[0-9 ]+}}, i8* [[E_a]])