[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