[llvm-branch-commits] [clang] clang/AMDGPU: Stop checking for finite only and unsafe math control libraries (PR #182865)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Mon Feb 23 07:07:44 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Matt Arsenault (arsenm)

<details>
<summary>Changes</summary>

These will be imminently deleted. Just ignore them if they are not present.

---
Full diff: https://github.com/llvm/llvm-project/pull/182865.diff


12 Files Affected:

- (modified) clang/include/clang/Driver/RocmInstallationDetector.h (+3-4) 
- (modified) clang/lib/Driver/ToolChains/AMDGPU.cpp (+4-2) 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/asanrtl.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/hip.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ockl.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_abi_version_600.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_isa_version_900.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_off.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/oclc_wavefrontsize64_on.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/ocml.bc () 
- (added) clang/test/Driver/Inputs/rocm-no-math-opt-libs/amdgcn/bitcode/opencl.bc () 
- (modified) clang/test/Driver/rocm-device-libs.cl (+6) 


``````````diff
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 \

``````````

</details>


https://github.com/llvm/llvm-project/pull/182865


More information about the llvm-branch-commits mailing list