Author: Jon Chesterfield Date: 2021-09-01T20:45:41+01:00 New Revision: 6b0636ce535efb8649e7cd01ccd03825fd63f8a2
URL: https://github.com/llvm/llvm-project/commit/6b0636ce535efb8649e7cd01ccd03825fd63f8a2 DIFF: https://github.com/llvm/llvm-project/commit/6b0636ce535efb8649e7cd01ccd03825fd63f8a2.diff LOG: Revert "[openmp] Accept directory for libomptarget-bc-path" Windows separator problem. Fixing that broke another regex. This reverts commit 0173e024fd9e779a94503040a532bcf125277f86. Added: Modified: clang/lib/Driver/ToolChains/CommonArgs.cpp clang/test/Driver/openmp-offload-gpu.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 7c7f4d63eca0d..343a5d5f4cf78 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -1709,26 +1709,22 @@ void tools::addOpenMPDeviceRTL(const Driver &D, : options::OPT_libomptarget_nvptx_bc_path_EQ; StringRef ArchPrefix = Triple.isAMDGCN() ? "amdgcn" : "nvptx"; - std::string LibOmpTargetName = "libomptarget-" + BitcodeSuffix.str() + ".bc"; - // First check whether user specifies bc library if (const Arg *A = DriverArgs.getLastArg(LibomptargetBCPathOpt)) { - SmallString<128> LibOmpTargetFile(A->getValue()); - if (llvm::sys::fs::exists(LibOmpTargetFile) && - llvm::sys::fs::is_directory(LibOmpTargetFile)) { - llvm::sys::path::append(LibOmpTargetFile, LibOmpTargetName); - } - - if (llvm::sys::fs::exists(LibOmpTargetFile)) { + std::string LibOmpTargetName(A->getValue()); + if (llvm::sys::fs::exists(LibOmpTargetName)) { CC1Args.push_back("-mlink-builtin-bitcode"); - CC1Args.push_back(DriverArgs.MakeArgString(LibOmpTargetFile)); + CC1Args.push_back(DriverArgs.MakeArgString(LibOmpTargetName)); } else { D.Diag(diag::err_drv_omp_offload_target_bcruntime_not_found) - << LibOmpTargetFile; + << LibOmpTargetName; } } else { bool FoundBCLibrary = false; + std::string LibOmpTargetName = + "libomptarget-" + BitcodeSuffix.str() + ".bc"; + for (StringRef LibraryPath : LibraryPaths) { SmallString<128> LibOmpTargetFile(LibraryPath); llvm::sys::path::append(LibOmpTargetFile, LibOmpTargetName); diff --git a/clang/test/Driver/openmp-offload-gpu.c b/clang/test/Driver/openmp-offload-gpu.c index 9f596a230d0ba..d4e1757162771 100644 --- a/clang/test/Driver/openmp-offload-gpu.c +++ b/clang/test/Driver/openmp-offload-gpu.c @@ -165,17 +165,11 @@ // RUN: -Xopenmp-target -march=sm_35 --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \ // RUN: -fopenmp-relocatable-target -save-temps -no-canonical-prefixes %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-BCLIB-USER %s -/// The user can also pass the path to the directory containing the bitcode lib -// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda \ -// RUN: --libomptarget-nvptx-bc-path=%S/Inputs/libomptarget \ -// RUN: -Xopenmp-target -march=sm_35 --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \ -// RUN: -fopenmp-relocatable-target -save-temps -no-canonical-prefixes %s 2>&1 \ -// RUN: | FileCheck -check-prefix=CHK-BCLIB-USER-DIR %s // CHK-BCLIB: clang{{.*}}-triple{{.*}}nvptx64-nvidia-cuda{{.*}}-mlink-builtin-bitcode{{.*}}libomptarget-nvptx-sm_35.bc // CHK-BCLIB-NEW: clang{{.*}}-triple{{.*}}nvptx64-nvidia-cuda{{.*}}-mlink-builtin-bitcode{{.*}}libomptarget-new-nvptx-sm_35.bc // CHK-BCLIB-USER: clang{{.*}}-triple{{.*}}nvptx64-nvidia-cuda{{.*}}-mlink-builtin-bitcode{{.*}}libomptarget-nvptx-test.bc -// CHK-BCLIB-USER-DIR: clang{{.*}}-triple{{.*}}nvptx64-nvidia-cuda{{.*}}-mlink-builtin-bitcode{{.*}}libomptarget-nvptx-sm_35.bc + // CHK-BCLIB-NOT: {{error:|warning:}} /// ########################################################################### _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits