diff options
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 14 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 4 |
2 files changed, 4 insertions, 14 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 61c2289..054f7d4 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -792,21 +792,9 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C, if (HasValidOpenMPRuntime) { llvm::StringMap<const char *> FoundNormalizedTriples; for (const char *Val : OpenMPTargets->getValues()) { - llvm::Triple TT(Val); + llvm::Triple TT(ToolChain::getOpenMPTriple(Val)); std::string NormalizedName = TT.normalize(); - // We want to expand the shortened versions of the triples passed in to - // the values used for the bitcode libraries for convenience. - if (TT.getVendor() == llvm::Triple::UnknownVendor || - TT.getOS() == llvm::Triple::UnknownOS) { - if (TT.getArch() == llvm::Triple::nvptx) - TT = llvm::Triple("nvptx-nvidia-cuda"); - else if (TT.getArch() == llvm::Triple::nvptx64) - TT = llvm::Triple("nvptx64-nvidia-cuda"); - else if (TT.getArch() == llvm::Triple::amdgcn) - TT = llvm::Triple("amdgcn-amd-amdhsa"); - } - // Make sure we don't have a duplicate triple. auto Duplicate = FoundNormalizedTriples.find(NormalizedName); if (Duplicate != FoundNormalizedTriples.end()) { diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 5fef1fb..3c13f1b 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -1129,8 +1129,10 @@ llvm::opt::DerivedArgList *ToolChain::TranslateOpenMPTargetArgs( A->getOption().matches(options::OPT_Xopenmp_target); if (A->getOption().matches(options::OPT_Xopenmp_target_EQ)) { + llvm::Triple TT(getOpenMPTriple(A->getValue(0))); + // Passing device args: -Xopenmp-target=<triple> -opt=val. - if (A->getValue(0) == getTripleString()) + if (TT.getTriple() == getTripleString()) Index = Args.getBaseArgs().MakeIndex(A->getValue(1)); else continue; |