llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Matt Arsenault (arsenm) <details> <summary>Changes</summary> Use the same path as CUDA/HIP and stop doing a hacky search through the arguments looking for -march. --- Full diff: https://github.com/llvm/llvm-project/pull/201555.diff 1 Files Affected: - (modified) clang/lib/Driver/ToolChains/Clang.cpp (+2-36) ``````````diff diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 7657afb14f077..727bc74450e32 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -9322,28 +9322,11 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA, Triples += '-'; Triples += CurTC->getTriple().normalize(llvm::Triple::CanonicalForm::FOUR_IDENT); - if ((CurKind == Action::OFK_HIP || CurKind == Action::OFK_Cuda) && + if (CurKind != Action::OFK_Host && !StringRef(CurDep->getOffloadingArch()).empty()) { Triples += '-'; Triples += CurDep->getOffloadingArch(); } - - // TODO: Replace parsing of -march flag. Can be done by storing GPUArch - // with each toolchain. - StringRef GPUArchName; - if (CurKind == Action::OFK_OpenMP) { - // Extract GPUArch from -march argument in TC argument list. - for (unsigned ArgIndex = 0; ArgIndex < TCArgs.size(); ArgIndex++) { - auto ArchStr = StringRef(TCArgs.getArgString(ArgIndex)); - auto Arch = ArchStr.starts_with_insensitive("-march="); - if (Arch) { - GPUArchName = ArchStr.substr(7); - Triples += "-"; - break; - } - } - Triples += GPUArchName.str(); - } } CmdArgs.push_back(TCArgs.MakeArgString(Triples)); @@ -9417,28 +9400,11 @@ void OffloadBundler::ConstructJobMultipleOutputs( Triples += '-'; Triples += Dep.DependentToolChain->getTriple().normalize( llvm::Triple::CanonicalForm::FOUR_IDENT); - if ((Dep.DependentOffloadKind == Action::OFK_HIP || - Dep.DependentOffloadKind == Action::OFK_Cuda) && + if (Dep.DependentOffloadKind != Action::OFK_Host && !Dep.DependentBoundArch.empty()) { Triples += '-'; Triples += Dep.DependentBoundArch; } - // TODO: Replace parsing of -march flag. Can be done by storing GPUArch - // with each toolchain. - StringRef GPUArchName; - if (Dep.DependentOffloadKind == Action::OFK_OpenMP) { - // Extract GPUArch from -march argument in TC argument list. - for (unsigned ArgIndex = 0; ArgIndex < TCArgs.size(); ArgIndex++) { - StringRef ArchStr = StringRef(TCArgs.getArgString(ArgIndex)); - auto Arch = ArchStr.starts_with_insensitive("-march="); - if (Arch) { - GPUArchName = ArchStr.substr(7); - Triples += "-"; - break; - } - } - Triples += GPUArchName.str(); - } } CmdArgs.push_back(TCArgs.MakeArgString(Triples)); `````````` </details> https://github.com/llvm/llvm-project/pull/201555 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
