aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/TargetInfo.cpp
diff options
context:
space:
mode:
authorSven van Haastregt <sven.vanhaastregt@arm.com>2022-01-12 13:30:09 +0000
committerSven van Haastregt <sven.vanhaastregt@arm.com>2022-01-12 13:30:09 +0000
commit4b85800bfd6ca6c3ecedf68ffbba6c3f2bc9c8ae (patch)
treea4cdd8df711c5033fd3aff2b2a443011043d8d61 /clang/lib/CodeGen/TargetInfo.cpp
parent6a605b97a2006bd391f129a606483656b7c6fb28 (diff)
downloadllvm-4b85800bfd6ca6c3ecedf68ffbba6c3f2bc9c8ae.zip
llvm-4b85800bfd6ca6c3ecedf68ffbba6c3f2bc9c8ae.tar.gz
llvm-4b85800bfd6ca6c3ecedf68ffbba6c3f2bc9c8ae.tar.bz2
[OpenCL] Set external linkage for block enqueue kernels
All kernels can be called from the host as per the SPIR_KERNEL calling convention. As such, all kernels should have external linkage, but block enqueue kernels were created with internal linkage. Reported-by: Pedro Olsen Ferreira Differential Revision: https://reviews.llvm.org/D115523
Diffstat (limited to 'clang/lib/CodeGen/TargetInfo.cpp')
-rw-r--r--clang/lib/CodeGen/TargetInfo.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/TargetInfo.cpp b/clang/lib/CodeGen/TargetInfo.cpp
index 2bb68eb..77203ae 100644
--- a/clang/lib/CodeGen/TargetInfo.cpp
+++ b/clang/lib/CodeGen/TargetInfo.cpp
@@ -11417,7 +11417,7 @@ TargetCodeGenInfo::createEnqueuedBlockKernel(CodeGenFunction &CGF,
auto &C = CGF.getLLVMContext();
std::string Name = Invoke->getName().str() + "_kernel";
auto *FT = llvm::FunctionType::get(llvm::Type::getVoidTy(C), ArgTys, false);
- auto *F = llvm::Function::Create(FT, llvm::GlobalValue::InternalLinkage, Name,
+ auto *F = llvm::Function::Create(FT, llvm::GlobalValue::ExternalLinkage, Name,
&CGF.CGM.getModule());
auto IP = CGF.Builder.saveIP();
auto *BB = llvm::BasicBlock::Create(C, "entry", F);