[PATCH] D62483: [CUDA][HIP] Emit dependent libs for host only
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 28 14:18:02 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rC361880: [CUDA][HIP] Emit dependent libs for host only (authored by yaxunl, committed by ).
Herald added a project: clang.
Repository:
rC Clang
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62483/new/
https://reviews.llvm.org/D62483
Files:
lib/CodeGen/CodeGenModule.cpp
test/CodeGenCUDA/dependent-libs.cu
Index: test/CodeGenCUDA/dependent-libs.cu
===================================================================
--- test/CodeGenCUDA/dependent-libs.cu
+++ test/CodeGenCUDA/dependent-libs.cu
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -emit-llvm -o - -fcuda-is-device -x hip %s | FileCheck --check-prefix=DEV %s
+// RUN: %clang_cc1 -emit-llvm -o - -x hip %s | FileCheck --check-prefix=HOST %s
+
+// DEV-NOT: llvm.dependent-libraries
+// HOST: llvm.dependent-libraries
+#pragma comment(lib, "libabc")
Index: lib/CodeGen/CodeGenModule.cpp
===================================================================
--- lib/CodeGen/CodeGenModule.cpp
+++ lib/CodeGen/CodeGenModule.cpp
@@ -457,7 +457,12 @@
// that ELF linkers tend to handle libraries in a more complicated fashion
// than on other platforms. This forces us to defer handling the dependent
// libs to the linker.
- if (!ELFDependentLibraries.empty()) {
+ //
+ // CUDA/HIP device and host libraries are different. Currently there is no
+ // way to differentiate dependent libraries for host or device. Existing
+ // usage of #pragma comment(lib, *) is intended for host libraries on
+ // Windows. Therefore emit llvm.dependent-libraries only for host.
+ if (!ELFDependentLibraries.empty() && !Context.getLangOpts().CUDAIsDevice) {
auto *NMD = getModule().getOrInsertNamedMetadata("llvm.dependent-libraries");
for (auto *MD : ELFDependentLibraries)
NMD->addOperand(MD);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62483.201764.patch
Type: text/x-patch
Size: 1444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190528/eb668c7a/attachment.bin>
More information about the cfe-commits
mailing list