[all-commits] [llvm/llvm-project] 8f0a47: [Instrumentor] Fix indirect arguments on gpu targe...
jandrovins via All-commits
all-commits at lists.llvm.org
Thu Jul 16 08:59:29 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 8f0a479f46c98e1a098319786d0848e4b9e0a98d
https://github.com/llvm/llvm-project/commit/8f0a479f46c98e1a098319786d0848e4b9e0a98d
Author: jandrovins <46629861+jandrovins at users.noreply.github.com>
Date: 2026-07-16 (Thu, 16 Jul 2026)
Changed paths:
M llvm/lib/Transforms/IPO/Instrumentor.cpp
A llvm/test/Instrumentation/Instrumentor/load_store_gpu_ind.json
A llvm/test/Instrumentation/Instrumentor/load_store_gpu_ind.ll
Log Message:
-----------
[Instrumentor] Fix indirect arguments on gpu targets (#209835)
When an argument is passed indirectly,
`IRTCallDescription::createLLVMCall` spills it into a temporary alloca
and passes that alloca address to the runtime call. The alloca is
created in the target's alloca address space. On GPUs it is not address
space 0, which is what the runtime expects for indirect parameters. The
alloca pointer was passed as the argument, so its type didn't match the
call's declared parameter type, causing a "bad signature" assertion in
`CallInst::init` when instrumenting GPU code that requires indirection.
The solution is therefore to cast this pointer to address space 0 before
passing it the the instrumentor call.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list