Skip to content

Commit 3e70551

Browse files
author
Martin Wehking
committed
Add --only-needed flag to llvm-link for AMDGCN
Add the --only-needed flag for AMDGCN when linking against devicelib. Fixes several test cases that use kernel bundles.
1 parent c4d20a7 commit 3e70551

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

clang/lib/Driver/ToolChains/SYCL.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -579,6 +579,7 @@ const char *SYCL::Linker::constructLLVMLinkCommand(
579579
auto isSYCLDeviceLib = [&](const InputInfo &II) {
580580
const ToolChain *HostTC = C.getSingleOffloadToolChain<Action::OFK_Host>();
581581
const bool IsNVPTX = this->getToolChain().getTriple().isNVPTX();
582+
const bool IsAMDGCN = this->getToolChain().getTriple().isAMDGCN();
582583
const bool IsFPGA = this->getToolChain().getTriple().isSPIR() &&
583584
this->getToolChain().getTriple().getSubArch() ==
584585
llvm::Triple::SPIRSubArch_fpga;
@@ -598,6 +599,8 @@ const char *SYCL::Linker::constructLLVMLinkCommand(
598599
// NativeCPU links against libclc (libspirv)
599600
if (IsSYCLNativeCPU && InputFilename.contains("libspirv"))
600601
return true;
602+
if (IsAMDGCN && InputFilename.starts_with("devicelib-"))
603+
return true;
601604
// NVPTX links against our libclc (libspirv), our libdevice (devicelib),
602605
// and the CUDA libdevice
603606
if (IsNVPTX && (InputFilename.starts_with("devicelib-") ||

0 commit comments

Comments
 (0)