Skip to content

Commit

Permalink
Revert "[openmp] Accept directory for libomptarget-bc-path"
Browse files Browse the repository at this point in the history
Windows separator problem. Fixing that broke another regex.
This reverts commit 0173e02.
  • Loading branch information
JonChesterfield committed Sep 1, 2021
1 parent cef1199 commit 6b0636c
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 18 deletions.
18 changes: 7 additions & 11 deletions clang/lib/Driver/ToolChains/CommonArgs.cpp
Expand Up @@ -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);
Expand Down
8 changes: 1 addition & 7 deletions clang/test/Driver/openmp-offload-gpu.c
Expand Up @@ -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:}}

/// ###########################################################################
Expand Down

0 comments on commit 6b0636c

Please sign in to comment.