From d3e3cbe1a74d861ce23defe48a8bb11b6144b3a0 Mon Sep 17 00:00:00 2001 From: Gheorghe-Teodor Bercea Date: Mon, 7 Aug 2017 20:19:23 +0000 Subject: [PATCH] [OpenMP] Pass -v to PTXAS if it was passed to the driver. Summary: When compiling code being offloaded by OpenMP to an NVIDIA GPU, pass the -v to PTXAS if it was passed to the CLANG driver. Reviewers: arpith-jacob, caomhin, carlo.bertolli, ABataev, jlebar, hfinkel, tstellar Reviewed By: jlebar Subscribers: Hahnfeld, rengolin, cfe-commits Differential Revision: https://reviews.llvm.org/D29644 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@310295 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/ToolChains/Cuda.cpp | 4 ++++ test/Driver/cuda-external-tools.cu | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/lib/Driver/ToolChains/Cuda.cpp b/lib/Driver/ToolChains/Cuda.cpp index 9568f93b78..70f472fb02 100644 --- a/lib/Driver/ToolChains/Cuda.cpp +++ b/lib/Driver/ToolChains/Cuda.cpp @@ -274,6 +274,10 @@ void NVPTX::Assembler::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-O0"); } + // Pass -v to ptxas if it was passed to the driver. + if (Args.hasArg(options::OPT_v)) + CmdArgs.push_back("-v"); + CmdArgs.push_back("--gpu-name"); CmdArgs.push_back(Args.MakeArgString(CudaArchToString(gpu_arch))); CmdArgs.push_back("--output-file"); diff --git a/test/Driver/cuda-external-tools.cu b/test/Driver/cuda-external-tools.cu index 809b850768..63b74fc06b 100644 --- a/test/Driver/cuda-external-tools.cu +++ b/test/Driver/cuda-external-tools.cu @@ -65,6 +65,10 @@ // RUN: %clang -### -target x86_32-apple-macosx -c %s 2>&1 \ // RUN: | FileCheck -check-prefix ARCH32 -check-prefix SM20 %s +// Check that CLANG forwards the -v flag to PTXAS. +// RUN: %clang -### -save-temps -no-canonical-prefixes -v %s 2>&1 \ +// RUN: | FileCheck -check-prefix=CHK-PTXAS-VERBOSE %s + // Match clang job that produces PTX assembly. // CHECK: "-cc1" "-triple" "nvptx64-nvidia-cuda" // SM20: "-target-cpu" "sm_20" @@ -110,3 +114,5 @@ // Match the clang job for host compilation. // CHECK: "-cc1" "-triple" "x86_64--linux-gnu" // CHECK-SAME: "-fcuda-include-gpubinary" "[[FATBINARY]]" + +// CHK-PTXAS-VERBOSE: ptxas{{.*}}" "-v" \ No newline at end of file -- 2.40.0