llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-driver

Author: Matt Arsenault (arsenm)

<details>
<summary>Changes</summary>

Also stop bothering to call normalizeOffloadTriple. This was
produced by code which should always produce normalized triples.

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


3 Files Affected:

- (modified) clang/include/clang/Basic/OffloadArch.h (+2-2) 
- (modified) clang/lib/Basic/OffloadArch.cpp (+8-7) 
- (modified) clang/lib/Driver/Driver.cpp (+1-5) 


``````````diff
diff --git a/clang/include/clang/Basic/OffloadArch.h 
b/clang/include/clang/Basic/OffloadArch.h
index 531e5e37935eb..ca97fb166d8fc 100644
--- a/clang/include/clang/Basic/OffloadArch.h
+++ b/clang/include/clang/Basic/OffloadArch.h
@@ -152,8 +152,8 @@ const char *OffloadArchToVirtualArchString(OffloadArch A);
 // OffloadArch::Unknown if the string is not recognized.
 OffloadArch StringToOffloadArch(llvm::StringRef S);
 
-llvm::StringRef OffloadArchToTriple(const llvm::Triple &DefaultToolchainTriple,
-                                    OffloadArch ID);
+llvm::Triple OffloadArchToTriple(const llvm::Triple &DefaultToolchainTriple,
+                                 OffloadArch ID);
 
 } // namespace clang
 
diff --git a/clang/lib/Basic/OffloadArch.cpp b/clang/lib/Basic/OffloadArch.cpp
index d15df3deca74b..3cd1a50d7a839 100644
--- a/clang/lib/Basic/OffloadArch.cpp
+++ b/clang/lib/Basic/OffloadArch.cpp
@@ -147,19 +147,20 @@ OffloadArch StringToOffloadArch(llvm::StringRef S) {
   return Result->Arch;
 }
 
-llvm::StringRef OffloadArchToTriple(const llvm::Triple &DefaultToolchainTriple,
-                                    OffloadArch ID) {
+llvm::Triple OffloadArchToTriple(const llvm::Triple &DefaultToolchainTriple,
+                                 OffloadArch ID) {
   if (ID == OffloadArch::AMDGCNSPIRV)
-    return "spirv64-amd-amdhsa";
+    return llvm::Triple("spirv64-amd-amdhsa");
 
   if (IsNVIDIAOffloadArch(ID))
-    return DefaultToolchainTriple.isArch64Bit() ? "nvptx64-nvidia-cuda"
-                                                : "nvptx-nvidia-cuda";
+    return DefaultToolchainTriple.isArch64Bit()
+               ? llvm::Triple("nvptx64-nvidia-cuda")
+               : llvm::Triple("nvptx-nvidia-cuda");
 
   if (IsAMDOffloadArch(ID))
-    return "amdgcn-amd-amdhsa";
+    return llvm::Triple("amdgcn-amd-amdhsa");
 
-  return "";
+  return {};
 }
 
 } // namespace clang
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 76bf9ab84e97f..b0b27b357a053 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -997,12 +997,8 @@ static TripleSet inferOffloadToolchains(Compilation &C,
       return {};
     }
 
-    llvm::StringRef TripleStr =
+    llvm::Triple Triple =
         OffloadArchToTriple(C.getDefaultToolChain().getTriple(), ID);
-    if (TripleStr.empty())
-      continue;
-
-    llvm::Triple Triple = ToolChain::normalizeOffloadTriple(TripleStr);
 
     // Make a new argument that dispatches this argument to the appropriate
     // toolchain. This is required when we infer it and create potentially

``````````

</details>


https://github.com/llvm/llvm-project/pull/189343
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to