https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/182865
>From 359bb103f709fb4e19a2ab454a31d38d5f8f4aaf Mon Sep 17 00:00:00 2001 From: Matt Arsenault <[email protected]> Date: Mon, 23 Feb 2026 15:28:44 +0100 Subject: [PATCH] clang/AMDGPU: Stop checking for finite only and unsafe math control libraries These will be imminently deleted. Just ignore them if they are not present. --- clang/include/clang/Driver/RocmInstallationDetector.h | 7 +++---- clang/lib/Driver/ToolChains/AMDGPU.cpp | 6 ++++-- .../Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc | 0 .../Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc | 0 .../Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc | 0 .../amdgcn/bitcode/oclc_abi_version_600.bc | 0 .../amdgcn/bitcode/oclc_isa_version_900.bc | 0 .../amdgcn/bitcode/oclc_wavefrontsize64_off.bc | 0 .../amdgcn/bitcode/oclc_wavefrontsize64_on.bc | 0 .../Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc | 0 .../Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc | 0 clang/test/Driver/rocm-device-libs.cl | 6 ++++++ 12 files changed, 13 insertions(+), 6 deletions(-) create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc create mode 100644 clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc diff --git a/clang/include/clang/Driver/RocmInstallationDetector.h b/clang/include/clang/Driver/RocmInstallationDetector.h index b20dddbd045ea..ab669ef315361 100644 --- a/clang/include/clang/Driver/RocmInstallationDetector.h +++ b/clang/include/clang/Driver/RocmInstallationDetector.h @@ -157,8 +157,7 @@ class RocmInstallationDetector { bool allGenericLibsValid() const { return !OCML.empty() && !OCKL.empty() && !OpenCL.empty() && - WavefrontSize64.isValid() && FiniteOnly.isValid() && - UnsafeMath.isValid(); + WavefrontSize64.isValid(); } void scanLibDevicePath(llvm::StringRef Path); @@ -242,11 +241,11 @@ class RocmInstallationDetector { } StringRef getFiniteOnlyPath(bool Enabled) const { - return FiniteOnly.get(Enabled); + return FiniteOnly.isValid() ? FiniteOnly.get(Enabled) : ""; } StringRef getUnsafeMathPath(bool Enabled) const { - return UnsafeMath.get(Enabled); + return UnsafeMath.isValid() ? UnsafeMath.get(Enabled) : ""; } StringRef getABIVersionPath(DeviceLibABIVersion ABIVer) const { diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp index fc78ff02ef214..95f14640937ea 100644 --- a/clang/lib/Driver/ToolChains/AMDGPU.cpp +++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp @@ -1028,8 +1028,10 @@ RocmInstallationDetector::getCommonBitcodeLibs( auto AddBCLib = [&](ToolChain::BitCodeLibraryInfo BCLib, bool Internalize = true) { - BCLib.ShouldInternalize = Internalize; - BCLibs.emplace_back(BCLib); + if (!BCLib.Path.empty()) { + BCLib.ShouldInternalize = Internalize; + BCLibs.emplace_back(BCLib); + } }; auto AddSanBCLibs = [&]() { if (Pref.GPUSan) diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc b/clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/rocm-device-libs.cl b/clang/test/Driver/rocm-device-libs.cl index 4741862be266e..232f36df38768 100644 --- a/clang/test/Driver/rocm-device-libs.cl +++ b/clang/test/Driver/rocm-device-libs.cl @@ -9,6 +9,12 @@ // RUN: 2>&1 | FileCheck --check-prefixes=COMMON,COMMON-DEFAULT,GFX900,WAVE64 %s +// RUN: %clang -### -target amdgcn-amd-amdhsa \ +// RUN: -x cl -mcpu=gfx900 \ +// RUN: --rocm-path=%S/Inputs/rocm-no-math-opt-libs \ +// RUN: %s \ +// RUN: 2>&1 | FileCheck --check-prefixes=COMMON,GFX900,WAVE64 %s + // Make sure the different denormal default is respected for gfx8 // RUN: %clang -### -target amdgcn-amd-amdhsa \ _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
