xref: /llvm-project/llvm/test/Transforms/Inline/lifetime-no-datalayout.ll (revision 650041a7f1852e95c3543c9852ab63f75165b223)
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2
2; RUN: opt -passes=inline -S < %s | FileCheck %s
3
4declare void @use(ptr %a)
5
6define void @helper() {
7; CHECK-LABEL: define void @helper() {
8; CHECK-NEXT:    [[A:%.*]] = alloca i8, align 1
9; CHECK-NEXT:    call void @use(ptr [[A]])
10; CHECK-NEXT:    ret void
11;
12  %a = alloca i8
13  call void @use(ptr %a)
14  ret void
15}
16
17; Size in llvm.lifetime.X should be 1 (default for i8).
18define void @test() {
19; CHECK-LABEL: define void @test() {
20; CHECK-NEXT:    [[A_I:%.*]] = alloca i8, align 1
21; CHECK-NEXT:    call void @llvm.lifetime.start.p0(i64 1, ptr [[A_I]])
22; CHECK-NEXT:    call void @use(ptr [[A_I]])
23; CHECK-NEXT:    call void @llvm.lifetime.end.p0(i64 1, ptr [[A_I]])
24; CHECK-NEXT:    ret void
25;
26  call void @helper()
27  ret void
28}
29
30