aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorJoseph Huber <jhuber6@vols.utk.edu>2023-07-11 09:27:22 -0500
committerJoseph Huber <jhuber6@vols.utk.edu>2023-07-11 10:54:40 -0500
commit8a0763f19ca543a00bb9e2c3b35279d3eb6339ff (patch)
tree79d092e522226d803fc43f46369ac357305f3901 /clang/lib/Lex/ModuleMap.cpp
parent14742f2a689c825adebc54cbade9c89fbe426da8 (diff)
downloadllvm-8a0763f19ca543a00bb9e2c3b35279d3eb6339ff.zip
llvm-8a0763f19ca543a00bb9e2c3b35279d3eb6339ff.tar.gz
llvm-8a0763f19ca543a00bb9e2c3b35279d3eb6339ff.tar.bz2
[Libomptarget] Remove RPCHandleTy indirection
The 'RPCHandleTy' was intended to capture the intention that a specific device owns its slot in the RPC server. However, this required creating a temporary store to hold these pointers. This was causing really weird spurious failure due to undefined behaviour in the order of library teardown. For example, the x64 plugin would be torn down, set this to some invalid memory, and then the CUDA plugin would crash. Rather than spend the time to fully diagnose this problem I found it pertinent to simply remove the failure mode. This patch removes this indirection so now the usage of the RPC server must always be done with the intended device. This just requires some extra handling for the AMDGPU indirection where we need to store a reference to the device. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D154971
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions