Author: Yaxun (Sam) Liu Date: 2022-04-26T20:43:39-04:00 New Revision: 57a210e5b705f4d176facbd8a15aa3e89ea9e335
URL: https://github.com/llvm/llvm-project/commit/57a210e5b705f4d176facbd8a15aa3e89ea9e335 DIFF: https://github.com/llvm/llvm-project/commit/57a210e5b705f4d176facbd8a15aa3e89ea9e335.diff LOG: [CUDA][HIP] Fix linkage of __clang_gpu_used_external Different TU's may have this globl var. appending linkage can only be used with lld recognized special variables. Change it to internal linkage. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D124466 Added: Modified: clang/lib/CodeGen/CodeGenModule.cpp clang/test/CodeGenCUDA/host-used-extern.cu Removed: ################################################################################ diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 784f2d0e578fa..83f650cb8161d 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -598,7 +598,7 @@ void CodeGenModule::Release() { llvm::ArrayType *ATy = llvm::ArrayType::get(Int8PtrTy, UsedArray.size()); auto *GV = new llvm::GlobalVariable( - getModule(), ATy, false, llvm::GlobalValue::AppendingLinkage, + getModule(), ATy, false, llvm::GlobalValue::InternalLinkage, llvm::ConstantArray::get(ATy, UsedArray), "__clang_gpu_used_external"); addCompilerUsedGlobal(GV); } diff --git a/clang/test/CodeGenCUDA/host-used-extern.cu b/clang/test/CodeGenCUDA/host-used-extern.cu index f430111b566a2..c7edabf5c582b 100644 --- a/clang/test/CodeGenCUDA/host-used-extern.cu +++ b/clang/test/CodeGenCUDA/host-used-extern.cu @@ -11,7 +11,7 @@ #include "Inputs/cuda.h" -// CHECK-LABEL: @__clang_gpu_used_external = appending {{.*}}global +// CHECK-LABEL: @__clang_gpu_used_external = internal {{.*}}global // CHECK-DAG: @_Z7kernel1v // CHECK-DAG: @_Z7kernel4v // CHECK-DAG: @var1 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits