[clang] [HIP] fix HIP detection for /usr (PR #80190)

Yaxun Liu via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 31 12:17:08 PST 2024


https://github.com/yxsamliu created https://github.com/llvm/llvm-project/pull/80190

Skip checking HIP version file under parent directory for /usr/local since /usr will be checked after /usr/local.

Fixes: https://github.com/llvm/llvm-project/issues/78344

>From 4da60eac1a940d922703381a9a07c9329e733e11 Mon Sep 17 00:00:00 2001
From: "Yaxun (Sam) Liu" <yaxun.liu at amd.com>
Date: Wed, 31 Jan 2024 15:14:10 -0500
Subject: [PATCH] [HIP] fix HIP detection for /usr

Skip checking HIP version file under parent directory
for /usr/local since /usr will be checked after /usr/local.

Fixes: https://github.com/llvm/llvm-project/issues/78344
---
 clang/lib/Driver/ToolChains/AMDGPU.cpp | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/AMDGPU.cpp b/clang/lib/Driver/ToolChains/AMDGPU.cpp
index b3c9d5908654f..e207a9d784d5a 100644
--- a/clang/lib/Driver/ToolChains/AMDGPU.cpp
+++ b/clang/lib/Driver/ToolChains/AMDGPU.cpp
@@ -486,10 +486,15 @@ void RocmInstallationDetector::detectHIPRuntime() {
       return newpath;
     };
     // If HIP version file can be found and parsed, use HIP version from there.
-    for (const auto &VersionFilePath :
-         {Append(SharePath, "hip", "version"),
-          Append(ParentSharePath, "hip", "version"),
-          Append(BinPath, ".hipVersion")}) {
+    std::vector<SmallString<0>> VersionFilePaths = {
+        Append(SharePath, "hip", "version"),
+        InstallPath != "/usr/local" ? Append(ParentSharePath, "hip", "version")
+                                    : SmallString<0>(),
+        Append(BinPath, ".hipVersion")};
+
+    for (const auto &VersionFilePath : VersionFilePaths) {
+      if (VersionFilePath.empty())
+        continue;
       llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> VersionFile =
           FS.getBufferForFile(VersionFilePath);
       if (!VersionFile)



More information about the cfe-commits mailing list