Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / Mem2Reg / ignore-lifetime.ll
blob3773d41814ed9762e81cf74fe4972c385ea3ecc7
1 ; RUN: opt -passes=mem2reg -S -o - < %s | FileCheck %s
3 declare void @llvm.lifetime.start.p0(i64 %size, ptr nocapture %ptr)
4 declare void @llvm.lifetime.end.p0(i64 %size, ptr nocapture %ptr)
6 define void @test1() {
7 ; CHECK: test1
8 ; CHECK-NOT: alloca
9   %A = alloca i32
10   call void @llvm.lifetime.start.p0(i64 2, ptr %A)
11   store i32 1, ptr %A
12   call void @llvm.lifetime.end.p0(i64 2, ptr %A)
13   ret void
16 define void @test2() {
17 ; CHECK: test2
18 ; CHECK-NOT: alloca
19   %A = alloca {i8, i16}
20   %B = getelementptr {i8, i16}, ptr %A, i32 0, i32 0
21   call void @llvm.lifetime.start.p0(i64 2, ptr %B)
22   store {i8, i16} zeroinitializer, ptr %A
23   call void @llvm.lifetime.end.p0(i64 2, ptr %B)
24   ret void