[llvm-branch-commits] [clang] clang/AMDGPU: Stop checking for finite only and unsafe math control libraries (PR #182865)
Matt Arsenault via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Feb 23 07:07:15 PST 2026
https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/182865
These will be imminently deleted. Just ignore them if they are not present.
>From 4418e205453775e6903817922fbf569b2ab8aaf4 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
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 \
More information about the llvm-branch-commits
mailing list