forked from OSchip/llvm-project
[CUDA] Add --no-cuda-noopt-debug, which disables --cuda-noopt-debug.
Reviewers: tra Subscribers: cfe-commits, jhen Differential Revision: http://reviews.llvm.org/D19251 llvm-svn: 266708
This commit is contained in:
parent
dc3c50434e
commit
b41f33cf02
|
@ -386,6 +386,7 @@ def cuda_gpu_arch_EQ : Joined<["--"], "cuda-gpu-arch=">, Flags<[DriverOption]>,
|
|||
HelpText<"CUDA GPU architecture (e.g. sm_35). May be specified more than once.">;
|
||||
def cuda_noopt_device_debug : Flag<["--"], "cuda-noopt-device-debug">,
|
||||
HelpText<"Enable device-side debug info generation. Disables ptxas optimizations.">;
|
||||
def no_cuda_noopt_device_debug : Flag<["--"], "no-cuda-noopt-device-debug">;
|
||||
def cuda_path_EQ : Joined<["--"], "cuda-path=">, Group<i_Group>,
|
||||
HelpText<"CUDA installation path">;
|
||||
def fcuda_flush_denormals_to_zero : Flag<["-"], "fcuda-flush-denormals-to-zero">,
|
||||
|
|
|
@ -10956,7 +10956,8 @@ void NVPTX::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
|
||||
ArgStringList CmdArgs;
|
||||
CmdArgs.push_back(TC.getTriple().isArch64Bit() ? "-m64" : "-m32");
|
||||
if (Args.getLastArg(options::OPT_cuda_noopt_device_debug)) {
|
||||
if (Args.hasFlag(options::OPT_cuda_noopt_device_debug,
|
||||
options::OPT_no_cuda_noopt_device_debug, false)) {
|
||||
// ptxas does not accept -g option if optimization is enabled, so
|
||||
// we ignore the compiler's -O* options if we want debug info.
|
||||
CmdArgs.push_back("-g");
|
||||
|
|
|
@ -22,6 +22,11 @@
|
|||
// RUN: %clang -### -target x86_64-linux-gnu --cuda-noopt-device-debug -O2 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix ARCH64 -check-prefix SM20 -check-prefix DBG %s
|
||||
|
||||
// --no-cuda-noopt-device-debug overrides --cuda-noopt-device-debug.
|
||||
// RUN: %clang -### -target x86_64-linux-gnu --cuda-noopt-debug \
|
||||
// RUN: --no-cuda-noopt-debug -O2 -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix ARCH64 -check-prefix SM20 -check-prefix OPT2 %s
|
||||
|
||||
// Regular compile without -O. This should result in us passing -O0 to ptxas.
|
||||
// RUN: %clang -### -target x86_64-linux-gnu -c %s 2>&1 \
|
||||
// RUN: | FileCheck -check-prefix ARCH64 -check-prefix SM20 -check-prefix OPT0 %s
|
||||
|
|
Loading…
Reference in New Issue