Skip to content

Commit 3c4e628

Browse files
author
Zhenhao Yang
committed
fixup! [InferAddressSpaces] Handle llvm.lifetime
1 parent 4175c7d commit 3c4e628

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

llvm/test/Transforms/InferAddressSpaces/AMDGPU/lifetime.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ define i32 @lifetime_flat_pointer() {
2020
}
2121

2222
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
23-
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)
23+
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)

llvm/test/Transforms/InferAddressSpaces/NVPTX/lifetime.ll

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,23 @@ define i32 @lifetime_flat_pointer() {
2020
ret i32 %ret
2121
}
2222

23+
define i32 @lifetime_flat_pointer2() {
24+
; CHECK-LABEL: define i32 @lifetime_flat_pointer2() {
25+
; CHECK-NEXT: [[ALLOCA:%.*]] = alloca i32, align 4
26+
; CHECK-NEXT: [[TMP1:%.*]] = addrspacecast ptr [[ALLOCA]] to ptr addrspace(5)
27+
; CHECK-NEXT: call void @llvm.lifetime.start.p5(i64 4, ptr addrspace(5) [[TMP1]])
28+
; CHECK-NEXT: store i32 1, ptr addrspace(5) [[TMP1]], align 4
29+
; CHECK-NEXT: %ret = load i32, ptr addrspace(5) [[TMP1]], align 4
30+
; CHECK-NEXT: call void @llvm.lifetime.end.p5(i64 4, ptr addrspace(5) [[TMP1]])
31+
; CHECK-NEXT: ret i32 %ret
32+
;
33+
%alloca = alloca i32, align 4
34+
call void @llvm.lifetime.start.p5(i64 4 , ptr %alloca)
35+
store i32 1, ptr %alloca, align 4
36+
%ret = load i32, ptr %alloca, align 4
37+
call void @llvm.lifetime.end.p5(i64 4 , ptr %alloca)
38+
ret i32 %ret
39+
}
40+
2341
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture)
2442
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture)

0 commit comments

Comments
 (0)