aboutsummaryrefslogtreecommitdiff
path: root/clang
diff options
context:
space:
mode:
authorJon Chesterfield <jonathanchesterfield@gmail.com>2021-09-01 20:45:41 +0100
committerJon Chesterfield <jonathanchesterfield@gmail.com>2021-09-01 20:45:41 +0100
commit6b0636ce535efb8649e7cd01ccd03825fd63f8a2 (patch)
tree4885dcaaad1d47f2812db15eff86fc1ed9fc7a0e /clang
parentcef1199686475c0c63ba63ddb56f46bc7866fa3e (diff)
downloadllvm-6b0636ce535efb8649e7cd01ccd03825fd63f8a2.zip
llvm-6b0636ce535efb8649e7cd01ccd03825fd63f8a2.tar.gz
llvm-6b0636ce535efb8649e7cd01ccd03825fd63f8a2.tar.bz2
Revert "[openmp] Accept directory for libomptarget-bc-path"
Windows separator problem. Fixing that broke another regex. This reverts commit 0173e024fd9e779a94503040a532bcf125277f86.
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/ToolChains/CommonArgs.cpp18
-rw-r--r--clang/test/Driver/openmp-offload-gpu.c8
2 files changed, 8 insertions, 18 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 7c7f4d6..343a5d5 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 9f596a2..d4e1757 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:}}
/// ###########################################################################