https://github.com/shiltian created https://github.com/llvm/llvm-project/pull/138365
None >From acc89cf6a85a8fb758b528a4e2ae587fccd61ce5 Mon Sep 17 00:00:00 2001 From: Shilei Tian <i...@tianshilei.me> Date: Fri, 2 May 2025 19:41:11 -0400 Subject: [PATCH] [Clang][Driver] Enable internalization by default for AMDGPU --- clang/lib/Driver/ToolChains/Clang.cpp | 6 ++++++ clang/test/Driver/openmp-offload-gpu.c | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 6dabf9d842b7b..093f6fe9d5c77 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -9284,6 +9284,12 @@ void LinkerWrapper::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back(Args.MakeArgString( "--device-linker=" + TC->getTripleString() + "=" + Arg)); + // Enable internalization for AMDGPU. + if (TC->getTriple().isAMDGPU()) + CmdArgs.push_back( + Args.MakeArgString("--device-linker=" + TC->getTripleString() + + "=-plugin-opt=-amdgpu-internalize-symbols")); + // Forward the LTO mode relying on the Driver's parsing. if (C.getDriver().getOffloadLTOMode() == LTOK_Full) CmdArgs.push_back(Args.MakeArgString( diff --git a/clang/test/Driver/openmp-offload-gpu.c b/clang/test/Driver/openmp-offload-gpu.c index 5ad038b7dbd37..73dc5a7f75d5b 100644 --- a/clang/test/Driver/openmp-offload-gpu.c +++ b/clang/test/Driver/openmp-offload-gpu.c @@ -393,3 +393,10 @@ // RUN: --offload-arch=sm_52 -foffload-lto=thin -nogpulib -nogpuinc %s 2>&1 \ // RUN: | FileCheck --check-prefix=THINLTO-SM52 %s // THINLTO-SM52: --device-compiler=nvptx64-nvidia-cuda=-flto=thin + +// Check that internalization is enabled for OpenMP offloading on AMDGPU. +// +// RUN: %clang -### --target=x86_64-unknown-linux-gnu -fopenmp=libomp \ +// RUN: --offload-arch=gfx906 -nogpulib -nogpuinc %s 2>&1 \ +// RUN: | FileCheck --check-prefix=INTERNALIZATION-GFX906 %s +// INTERNALIZATION-GFX906: --device-linker=amdgcn-amd-amdhsa=-plugin-opt=-amdgpu-internalize-symbols _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits