diff options
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp | 5 | ||||
-rw-r--r-- | llvm/test/DebugInfo/NVPTX/debug-empty.ll | 1 |
2 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp index 274f1c59b6c..5c840e5cc7c 100644 --- a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp @@ -954,9 +954,12 @@ bool NVPTXAsmPrinter::doFinalization(Module &M) { delete[] gv_array; // Close the last emitted section - if (HasDebugInfo) + if (HasDebugInfo) { static_cast<NVPTXTargetStreamer *>(OutStreamer->getTargetStreamer()) ->closeLastSection(); + // Emit empty .debug_loc section for better support of the empty files. + OutStreamer->EmitRawText("\t.section\t.debug_loc\t{\t}"); + } // Output last DWARF .file directives, if any. static_cast<NVPTXTargetStreamer *>(OutStreamer->getTargetStreamer()) diff --git a/llvm/test/DebugInfo/NVPTX/debug-empty.ll b/llvm/test/DebugInfo/NVPTX/debug-empty.ll index f1ebf739d2f..cae258815e4 100644 --- a/llvm/test/DebugInfo/NVPTX/debug-empty.ll +++ b/llvm/test/DebugInfo/NVPTX/debug-empty.ll @@ -1,6 +1,7 @@ ; RUN: llc < %s -mtriple=nvptx64-nvidia-cuda | FileCheck %s ; CHECK: .target sm_{{[0-9]+$}} +; CHECK: .section .debug_loc { } ; CHECK-NOT: } !llvm.dbg.cu = !{!0} |