aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorYaxun (Sam) Liu <yaxun.liu@amd.com>2024-05-01 10:24:23 -0400
committerGitHub <noreply@github.com>2024-05-01 10:24:23 -0400
commitbe5075ab8daf58a0e981e6bda9579a86fba9a748 (patch)
treeabb2dfc3802bf49fbf7545fc02708f4e756a7bfa /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parentf07a2edc64650f44bc592d74bb4c99ddde3772d3 (diff)
downloadllvm-be5075ab8daf58a0e981e6bda9579a86fba9a748.zip
llvm-be5075ab8daf58a0e981e6bda9579a86fba9a748.tar.gz
llvm-be5075ab8daf58a0e981e6bda9579a86fba9a748.tar.bz2
[CUDA] make kernel stub ICF-proof (#90155)
MSVC linker merges functions having comdat which have identical set of instructions. CUDA uses kernel stub function as key to look up kernels in device executables. If kernel stub function for different kernels are merged by ICF, incorrect kernels will be launched. To prevent ICF from merging kernel stub functions, an unique global variable is created for each kernel stub function having comdat and a store is added to the kernel stub function. This makes the set of instructions in each kernel function unique. Fixes: https://github.com/llvm/llvm-project/issues/88883
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions