@@ -57,64 +57,63 @@ target triple = "spir64-unknown-unknown"
5757%class.anon = type { i8 }
5858
5959; Function Attrs: nounwind
60- define spir_kernel void @lifetime_simple (i32 addrspace (1 )* captures(none) %res , i32 addrspace (1 )* captures(none) %lhs , i32 addrspace (1 )* captures(none) %rhs ) #0 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !5 !kernel_arg_type_qual !4 {
60+ define spir_kernel void @lifetime_simple (ptr addrspace (1 ) captures(none) %res , ptr addrspace (1 ) captures(none) %lhs , ptr addrspace (1 ) captures(none) %rhs ) #0 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3 !kernel_arg_base_type !5 !kernel_arg_type_qual !4 {
6161 %1 = alloca i32
6262 %2 = call spir_func i64 @_Z13get_global_idj (i32 0 ) #1
6363 %3 = shl i64 %2 , 32
6464 %4 = ashr exact i64 %3 , 32
65- %5 = getelementptr inbounds i32 , i32 addrspace (1 )* %lhs , i64 %4
66- %6 = load i32 , i32 addrspace (1 )* %5 , align 4
67- %7 = getelementptr inbounds i32 , i32 addrspace (1 )* %rhs , i64 %4
65+ %5 = getelementptr inbounds i32 , ptr addrspace (1 ) %lhs , i64 %4
66+ %6 = load i32 , ptr addrspace (1 ) %5 , align 4
67+ %7 = getelementptr inbounds i32 , ptr addrspace (1 ) %rhs , i64 %4
6868 %8 = load i32 , i32 addrspace (1 )* %7 , align 4
6969 %9 = sub i32 %6 , %8
70- %10 = bitcast i32* %1 to i8*
71- call void @llvm.lifetime.start.p0i8 (i64 -1 , i8* %10 )
72- store i32 %9 , i32* %1
73- %11 = load i32 , i32* %1
74- call void @llvm.lifetime.end.p0i8 (i64 -1 , i8* %10 )
75- %12 = getelementptr inbounds i32 , i32 addrspace (1 )* %res , i64 %4
76- store i32 %11 , i32 addrspace (1 )* %12 , align 4
70+ call void @llvm.lifetime.start.p0 (ptr %1 )
71+ store i32 %9 , ptr %1
72+ %11 = load i32 , ptr %1
73+ call void @llvm.lifetime.end.p0 (ptr %1 )
74+ %12 = getelementptr inbounds i32 , ptr addrspace (1 ) %res , i64 %4
75+ store i32 %11 , ptr addrspace (1 ) %12 , align 4
7776 ret void
7877}
7978
8079define spir_kernel void @lifetime_sized () #0 !kernel_arg_addr_space !8 !kernel_arg_access_qual !8 !kernel_arg_type !8 !kernel_arg_base_type !8 !kernel_arg_type_qual !8 {
8180entry:
8281 %0 = alloca i8 , align 1
83- call void @llvm.lifetime.start.p0i8 ( i64 1 , i8* %0 ) #0
84- call spir_func void @goo (i8* %0 )
85- call void @llvm.lifetime.end.p0i8 ( i64 1 , i8* %0 ) #0
82+ call void @llvm.lifetime.start.p0 ( ptr %0 ) #0
83+ call spir_func void @goo (ptr %0 )
84+ call void @llvm.lifetime.end.p0 ( ptr %0 ) #0
8685 ret void
8786}
8887
89- declare spir_func void @foo (%class.anon* %this ) #0
88+ declare spir_func void @foo (ptr %this ) #0
9089
91- declare spir_func void @goo (i8* %this ) #0
90+ declare spir_func void @goo (ptr %this ) #0
9291
9392; Function Attrs: nounwind
94- declare void @llvm.lifetime.start.p0i8 ( i64 immarg, i8* captures(none)) #0
93+ declare void @llvm.lifetime.start.p0 ( ptr captures(none)) #0
9594
9695; Function Attrs: nounwind
97- declare void @llvm.lifetime.end.p0i8 ( i64 immarg, i8* captures(none)) #0
96+ declare void @llvm.lifetime.end.p0 ( ptr captures(none)) #0
9897
9998; Function Attrs: nounwind readnone
10099declare spir_func i64 @_Z13get_global_idj (i32 ) #1
101100
102101define spir_kernel void @lifetime_generic () #0 !kernel_arg_addr_space !8 !kernel_arg_access_qual !8 !kernel_arg_type !8 !kernel_arg_base_type !8 !kernel_arg_type_qual !8 {
103102entry:
104103 %0 = alloca %class.anon , align 1 , addrspace (4 )
105- call void @llvm.lifetime.start.p4i8 ( i64 - 1 , i8 addrspace (4 )* %0 ) #0
106- call spir_func void @boo (%class.anon addrspace (4 )* %0 )
107- call void @llvm.lifetime.end.p4i8 ( i64 - 1 , i8 addrspace (4 )* %0 ) #0
104+ call void @llvm.lifetime.start.p4 ( ptr addrspace (4 ) %0 ) #0
105+ call spir_func void @boo (ptr addrspace (4 ) %0 )
106+ call void @llvm.lifetime.end.p4 ( ptr addrspace (4 ) %0 ) #0
108107 ret void
109108}
110109
111- declare spir_func void @boo (%class.anon addrspace (4 )* %this ) #0
110+ declare spir_func void @boo (ptr addrspace (4 ) %this ) #0
112111
113112; Function Attrs: nounwind
114- declare void @llvm.lifetime.start.p4i8 ( i64 immarg, i8 addrspace (4 )* captures(none)) #0
113+ declare void @llvm.lifetime.start.p4 ( ptr addrspace (4 ) captures(none)) #0
115114
116115; Function Attrs: nounwind
117- declare void @llvm.lifetime.end.p4i8 ( i64 immarg, i8 addrspace (4 )* captures(none)) #0
116+ declare void @llvm.lifetime.end.p4 ( ptr addrspace (4 ) captures(none)) #0
118117
119118
120119attributes #0 = { nounwind }
0 commit comments