Skip to content

Commit 1db5ba4

Browse files
author
Zhenhao Yang
committed
fixup! fixup! [InferAddressSpaces] Handle llvm.lifetime
1 parent 0e37754 commit 1db5ba4

File tree

1 file changed

+7
-22
lines changed
  • llvm/test/Transforms/InferAddressSpaces/NVPTX

1 file changed

+7
-22
lines changed

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

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,6 @@ target triple = "nvptx64-nvidia-cuda"
44

55
define i32 @lifetime_flat_pointer() {
66
; CHECK-LABEL: define i32 @lifetime_flat_pointer() {
7-
; CHECK-NEXT: [[ALLOCA:%.*]] = alloca i32, align 4, addrspace(5)
8-
; CHECK-NEXT: call void @llvm.lifetime.start.p5(i64 4, ptr addrspace(5) [[ALLOCA]])
9-
; CHECK-NEXT: store i32 1, ptr addrspace(5) [[ALLOCA]], align 4
10-
; CHECK-NEXT: %ret = load i32, ptr addrspace(5) [[ALLOCA]], align 4
11-
; CHECK-NEXT: call void @llvm.lifetime.end.p5(i64 4, ptr addrspace(5) [[ALLOCA]])
12-
; CHECK-NEXT: ret i32 %ret
13-
;
14-
%alloca = alloca i32, align 4, addrspace(5)
15-
%flat = addrspacecast ptr addrspace(5) %alloca to ptr
16-
call void @llvm.lifetime.start.p0(i64 4 , ptr %flat)
17-
store i32 1, ptr %flat, align 4
18-
%ret = load i32, ptr %flat, align 4
19-
call void @llvm.lifetime.end.p0(i64 4 , ptr %flat)
20-
ret i32 %ret
21-
}
22-
23-
define i32 @lifetime_flat_pointer2() {
24-
; CHECK-LABEL: define i32 @lifetime_flat_pointer2() {
257
; CHECK-NEXT: [[ALLOCA:%.*]] = alloca i32, align 4
268
; CHECK-NEXT: [[TMP1:%.*]] = addrspacecast ptr [[ALLOCA]] to ptr addrspace(5)
279
; CHECK-NEXT: call void @llvm.lifetime.start.p5(i64 4, ptr addrspace(5) [[TMP1]])
@@ -31,10 +13,13 @@ define i32 @lifetime_flat_pointer2() {
3113
; CHECK-NEXT: ret i32 %ret
3214
;
3315
%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)
16+
%1 = addrspacecast ptr %alloca to ptr addrspace(5)
17+
%2 = addrspacecast ptr addrspace(5) %1 to ptr
18+
%3 = addrspacecast ptr addrspace(5) %1 to ptr
19+
call void @llvm.lifetime.start.p0(i64 4, ptr %2)
20+
store i32 1, ptr addrspace(5) %1, align 4
21+
%ret = load i32, ptr addrspace(5) %1, align 4
22+
call void @llvm.lifetime.end.p0(i64 4, ptr %3)
3823
ret i32 %ret
3924
}
4025

0 commit comments

Comments
 (0)