From 6da9364687f6f3a561779f1ade57a12ed0c5aa9a Mon Sep 17 00:00:00 2001 From: Alex Lorenz Date: Thu, 10 Aug 2017 10:34:46 +0000 Subject: [PATCH] Revert r310489 and follow-up commits r310505, r310519, r310537 and r310549 Commit r310489 caused 'openmp-offload.c' test failures on Darwin and other platforms: http://lab.llvm.org:8080/green/job/clang-stage1-cmake-RA-incremental_check/39230/testReport/junit/Clang/Driver/openmp_offload_c/ The follow-up commits tried to fix the test, but the test is still failing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310580 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/clang/Driver/Options.td | 2 -- lib/Driver/ToolChains/Cuda.cpp | 18 ++++-------------- lib/Driver/ToolChains/Cuda.h | 11 ----------- test/Driver/openmp-offload.c | 22 +++------------------- 4 files changed, 7 insertions(+), 46 deletions(-) diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index a303143850..c86941181b 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -544,8 +544,6 @@ def no_cuda_version_check : Flag<["--"], "no-cuda-version-check">, def no_cuda_noopt_device_debug : Flag<["--"], "no-cuda-noopt-device-debug">; def cuda_path_EQ : Joined<["--"], "cuda-path=">, Group, HelpText<"CUDA installation path">; -def fopenmp_ptx_EQ : Joined<["--"], "fopenmp-ptx=">, Flags<[DriverOption]>, - HelpText<"Pass a PTX version +ptxXX, default +ptx42 (for PTX version 4.2) used by OpenMP device offloading.">; def ptxas_path_EQ : Joined<["--"], "ptxas-path=">, Group, HelpText<"Path to ptxas (used for compiling CUDA code)">; def fcuda_flush_denormals_to_zero : Flag<["-"], "fcuda-flush-denormals-to-zero">, diff --git a/lib/Driver/ToolChains/Cuda.cpp b/lib/Driver/ToolChains/Cuda.cpp index a0bbd526be..643c3404d1 100644 --- a/lib/Driver/ToolChains/Cuda.cpp +++ b/lib/Driver/ToolChains/Cuda.cpp @@ -484,13 +484,7 @@ void CudaToolChain::addClangTargetOptions( // than LLVM defaults to. Use PTX4.2 which is the PTX version that // came with CUDA-7.0. CC1Args.push_back("-target-feature"); - - if (DeviceOffloadingKind == Action::OFK_OpenMP) - CC1Args.push_back( - DriverArgs.getLastArgValue(options::OPT_fopenmp_ptx_EQ, - "+ptx42").data()); - else - CC1Args.push_back("+ptx42"); + CC1Args.push_back("+ptx42"); } void CudaToolChain::AddCudaIncludeArgs(const ArgList &DriverArgs, @@ -533,14 +527,10 @@ CudaToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args, } StringRef Arch = DAL->getLastArgValue(options::OPT_march_EQ); - if (Arch.empty()) { - // Default compute capability for CUDA toolchain is the - // lowest compute capability supported by the installed - // CUDA version. + if (Arch.empty()) + // Default compute capability for CUDA toolchain is sm_20. DAL->AddJoinedArg(nullptr, - Opts.getOption(options::OPT_march_EQ), - CudaInstallation.getLowestExistingArch()); - } + Opts.getOption(options::OPT_march_EQ), "sm_20"); return DAL; } diff --git a/lib/Driver/ToolChains/Cuda.h b/lib/Driver/ToolChains/Cuda.h index 9b3d6d70cd..1e30aa7270 100644 --- a/lib/Driver/ToolChains/Cuda.h +++ b/lib/Driver/ToolChains/Cuda.h @@ -76,17 +76,6 @@ public: std::string getLibDeviceFile(StringRef Gpu) const { return LibDeviceMap.lookup(Gpu); } - /// \brief Get lowest available compute capability - /// for which a libdevice library exists. - std::string getLowestExistingArch() const { - std::string LibDeviceFile; - for (auto key : LibDeviceMap.keys()) { - LibDeviceFile = LibDeviceMap.lookup(key); - if (!LibDeviceFile.empty()) - return key; - } - llvm_unreachable("no libdevice exists."); - } }; namespace tools { diff --git a/test/Driver/openmp-offload.c b/test/Driver/openmp-offload.c index 8527f88b0c..cd2ca3e3d6 100644 --- a/test/Driver/openmp-offload.c +++ b/test/Driver/openmp-offload.c @@ -691,7 +691,7 @@ /// ########################################################################### /// Check PTXAS is passed -c flag when offloading to an NVIDIA device using OpenMP. -// RUN: %clang -### -no-canonical-prefixes -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda %s 2>&1 \ +// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -no-canonical-prefixes %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-PTXAS-DEFAULT %s // CHK-PTXAS-DEFAULT: ptxas{{.*}}" "-c" @@ -699,7 +699,7 @@ /// ########################################################################### /// PTXAS is passed -c flag by default when offloading to an NVIDIA device using OpenMP - disable it. -// RUN: %clang -### -no-canonical-prefixes -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -fnoopenmp-relocatable-target %s 2>&1 \ +// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -fnoopenmp-relocatable-target -save-temps -no-canonical-prefixes %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-PTXAS-NORELO %s // CHK-PTXAS-NORELO-NOT: ptxas{{.*}}" "-c" @@ -708,23 +708,7 @@ /// PTXAS is passed -c flag by default when offloading to an NVIDIA device using OpenMP /// Check that the flag is passed when -fopenmp-relocatable-target is used. -// RUN: %clang -### -no-canonical-prefixes -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -fopenmp-relocatable-target %s 2>&1 \ +// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda -fopenmp-relocatable-target -save-temps -no-canonical-prefixes %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-PTXAS-RELO %s // CHK-PTXAS-RELO: ptxas{{.*}}" "-c" - -/// ########################################################################### - -/// Check PTXAS is passed the compute capability passed to the driver. -// RUN: %clang -### -no-canonical-prefixes -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda --fopenmp-ptx=+ptx52 %s 2>&1 \ -// RUN: | FileCheck -check-prefix=CHK-PTXAS-VERSION %s - -// CHK-PTXAS-VERSION: clang{{.*}}.bc" {{.*}}"-target-feature" "+ptx52" - -/// ########################################################################### - -/// Check PTXAS is passed the compute capability passed to the driver. -// RUN: %clang -### -no-canonical-prefixes -target x86_64-apple-darwin17.0.0 -fopenmp=libomp -fopenmp-targets=nvptx64-nvidia-cuda --fopenmp-ptx=+ptx52 %s 2>&1 \ -// RUN: | FileCheck -check-prefix=CHK-PTXAS-DARWIN-VERSION %s - -// CHK-PTXAS-DARWIN-VERSION: clang{{.*}}.bc" {{.*}}"-target-feature" "+ptx52" -- 2.40.0