Author: Alex Voicu Date: 2026-04-14T09:59:41+01:00 New Revision: 8beed11857172b89af2cf4c790bd51beee905506
URL: https://github.com/llvm/llvm-project/commit/8beed11857172b89af2cf4c790bd51beee905506 DIFF: https://github.com/llvm/llvm-project/commit/8beed11857172b89af2cf4c790bd51beee905506.diff LOG: [Driver][HIP] Do not default to `hidden` visibility for AMDGCNSPIRV (#191820) SPIR-V cannot encode hidden for now, which leads to quirky errors. For now we deal with this at run time, as part of JIT. Once SPIR-V learns about `hidden` it'll be revisited. Added: Modified: clang/lib/Driver/ToolChains/AMDGPU.cpp clang/lib/Driver/ToolChains/HIPAMD.cpp Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp index 03bd88f0d4f47..b72d0e68f63f0 100644 --- a/clang/lib/Driver/ToolChains/AMDGPU.cpp +++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp @@ -843,8 +843,10 @@ void AMDGPUToolChain::addClangTargetOptions( Action::OffloadKind DeviceOffloadingKind) const { // Default to "hidden" visibility, as object level linking will not be // supported for the foreseeable future. + // TODO: remove the SPIR-V bypass once it can encode (hidden) visibility. if (!DriverArgs.hasArg(options::OPT_fvisibility_EQ, - options::OPT_fvisibility_ms_compat)) { + options::OPT_fvisibility_ms_compat) && + !getEffectiveTriple().isSPIRV()) { CC1Args.push_back("-fvisibility=hidden"); CC1Args.push_back("-fapply-global-visibility-to-externs"); } diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp index b08f610b21a16..b4ff90c1d61f0 100644 --- a/clang/lib/Driver/ToolChains/HIPAMD.cpp +++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp @@ -260,8 +260,10 @@ void HIPAMDToolChain::addClangTargetOptions( // Default to "hidden" visibility, as object level linking will not be // supported for the foreseeable future. + // TODO: remove the SPIR-V bypass once it can encode (hidden) visibility. if (!DriverArgs.hasArg(options::OPT_fvisibility_EQ, - options::OPT_fvisibility_ms_compat)) { + options::OPT_fvisibility_ms_compat) && + !getEffectiveTriple().isSPIRV()) { CC1Args.append({"-fvisibility=hidden"}); CC1Args.push_back("-fapply-global-visibility-to-externs"); } _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
