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
