File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -214,13 +214,17 @@ function add_address_spaces!(mod::LLVM.Module, f::LLVM.Function)
214
214
isoverloaded (intr) || continue
215
215
216
216
# get an appropriately-overloaded intrinsic instantiation
217
- # XXX : apparently it differs per intrinsics which arguments to take into
218
- # consideration when generating an overload? for example, with memcpy
219
- # the trailing i1 argument is not included in the overloaded name.
217
+ # NOTE: the overload types differs from the argument types
220
218
intr_f = if intr == Intrinsic (" llvm.memcpy" )
221
219
LLVM. Function (mod, intr, llvmtype .(arguments (inst)[1 : end - 1 ]))
220
+ elseif intr == Intrinsic (" llvm.lifetime.start" ) ||
221
+ intr == Intrinsic (" llvm.lifetime.end" )
222
+ LLVM. Function (mod, intr, [llvmtype (arguments (inst)[end ])])
222
223
else
223
- error (" Unsupported intrinsic; please file an issue." )
224
+ # TODO : use matchIntrinsicSignature to do this generically
225
+ error (""" Unsupported intrinsic call:
226
+ $inst .
227
+ Please file an issue with at https://github.com/JuliaGPU/GPUCompiler.jl""" )
224
228
end
225
229
226
230
# create a call to the new intrinsic
You can’t perform that action at this time.
0 commit comments