aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff options
context:
space:
mode:
authorJoseph Huber <huberjn@outlook.com>2024-02-03 15:28:20 -0600
committerGitHub <noreply@github.com>2024-02-03 15:28:20 -0600
commit2333865546cb6d4cda7b511ed07b8cb66a0d4eab (patch)
tree19897a4e804112ee15eae5dbed165613c55a568a /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
parent9d00c3413299f537748e448e7197d6942c4651ea (diff)
downloadllvm-2333865546cb6d4cda7b511ed07b8cb66a0d4eab.zip
llvm-2333865546cb6d4cda7b511ed07b8cb66a0d4eab.tar.gz
llvm-2333865546cb6d4cda7b511ed07b8cb66a0d4eab.tar.bz2
[Libomptarget] Fix data mapping on dynamic loads (#80559)
Summary: The current logic tries to map target mapping tables to the current device. Right now it assumes that data is only mapped a single time per device. This is only true if we have a single instance of the runtime running on a single program. However, in the case of dynamic library loads or shared libraries, this may happen multiple times. Given a case of a simple dynamic library load which has its own target kernel instruction, the current logic had only the first call to `__tgt_target_kernel` to the data mapping for that device. Then, when the next dynamic library load got called, it would see that the global were already mapped for that device and skip registering its own entires, even though they were distinct. This resulted in none of the mappings being done and hitting an assertion. This patch simply gets rid of this per-device check. The check should instead be on the host offloading entries. We already have logic that calls `continue` if we already have entries for that pointer, so we can simply rely on that instead.
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions