@@ -1916,16 +1916,22 @@ end
1916
1916
# @inline prefetch2(x, i, j, oi, oj) = prefetch(gep(stridedpointer(x), (data(i) + data(oi) - 1, data(j) + data(oj) - 1)), Val{1}(), Val{0}())
1917
1917
1918
1918
@generated function lifetime_start! (ptr:: Ptr{T} , :: Val{L} ) where {L,T}
1919
- decl = " declare void @llvm.lifetime.start(i64, i8* nocapture)"
1920
- instrs = " %ptr = inttoptr $JULIAPOINTERTYPE %0 to i8*\n call void @llvm.lifetime.start(i64 $(L* sizeof (T)) , i8* %ptr)\n ret void"
1919
+ ptyp = LLVM_TYPES[T]
1920
+ decl = " declare void @llvm.lifetime.start(i64, $ptyp * nocapture)"
1921
+ instrs = " %ptr = inttoptr $JULIAPOINTERTYPE %0 to $ptyp *\n call void @llvm.lifetime.start(i64 $L , $ptyp * %ptr)\n ret void"
1921
1922
llvmcall_expr (decl, instrs, :Cvoid , :(Tuple{Ptr{$ T}}), " void" , [JULIAPOINTERTYPE], [:ptr ])
1922
1923
end
1923
1924
@generated function lifetime_end! (ptr:: Ptr{T} , :: Val{L} ) where {L,T}
1924
1925
ptyp = LLVM_TYPES[T]
1925
1926
decl = " declare void @llvm.lifetime.end(i64, $ptyp * nocapture)"
1926
- instrs = " %ptr = inttoptr $JULIAPOINTERTYPE %0 to $ptyp *\n call void @llvm.lifetime.end(i64 $(L * sizeof (T)) , $ptyp * %ptr)\n ret void"
1927
+ instrs = " %ptr = inttoptr $JULIAPOINTERTYPE %0 to $ptyp *\n call void @llvm.lifetime.end(i64 $L , $ptyp * %ptr)\n ret void"
1927
1928
llvmcall_expr (decl, instrs, :Cvoid , :(Tuple{Ptr{$ T}}), " void" , [JULIAPOINTERTYPE], [:ptr ])
1928
1929
end
1930
+ # @generated function lifetime_start!(ptr::Ptr{T}, ::Val{L}) where {L,T}
1931
+ # decl = "declare void @llvm.lifetime.start(i64, i8* nocapture)"
1932
+ # instrs = "%ptr = inttoptr $JULIAPOINTERTYPE %0 to i8*\ncall void @llvm.lifetime.start(i64 $(L*sizeof(T)), i8* %ptr)\nret void"
1933
+ # llvmcall_expr(decl, instrs, :Cvoid, :(Tuple{Ptr{$T}}), "void", [JULIAPOINTERTYPE], [:ptr])
1934
+ # end
1929
1935
# @generated function lifetime_end!(ptr::Ptr{T}, ::Val{L}) where {L,T}
1930
1936
# decl = "declare void @llvm.lifetime.end(i64, i8* nocapture)"
1931
1937
# instrs = "%ptr = inttoptr $JULIAPOINTERTYPE %0 to i8*\ncall void @llvm.lifetime.end(i64 $(L*sizeof(T)), i8* %ptr)\nret void"
0 commit comments