summaryrefslogtreecommitdiff
path: root/llvm/lib/Target/NVPTX
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2018-11-09 16:22:35 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2018-11-09 16:22:35 +0000
commit9457816f3cc52190708b3359b7c1c0ca9d29273d (patch)
treeaf9b6b18c710d821dadc68dce2ab0c753f0f2965 /llvm/lib/Target/NVPTX
parent77670ca7069def870cba5c16949f463e011f43f9 (diff)
Revert "[DEBUGINFO, NVPTX]DO not emit ',debug' option if no debug info or only debug directives are requested."
This reverts commit r345972. Need to update the description + possibly to update the patch itself after discussion with Eric Christofer.
Diffstat (limited to 'llvm/lib/Target/NVPTX')
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp10
-rw-r--r--llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h3
-rw-r--r--llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp21
3 files changed, 4 insertions, 30 deletions
diff --git a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
index f7b4cf3a0f7..71ca7a5ca8d 100644
--- a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
+++ b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
@@ -25,12 +25,6 @@ NVPTXTargetStreamer::NVPTXTargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {}
NVPTXTargetStreamer::~NVPTXTargetStreamer() = default;
-void NVPTXTargetStreamer::outputDwarfFileDirectives() {
- for (const std::string &S : DwarfFiles)
- getStreamer().EmitRawText(S.data());
- DwarfFiles.clear();
-}
-
void NVPTXTargetStreamer::emitDwarfFileDirective(StringRef Directive) {
DwarfFiles.emplace_back(Directive);
}
@@ -88,7 +82,9 @@ void NVPTXTargetStreamer::changeSection(const MCSection *CurSection,
OS << "//\t}\n";
if (isDwarfSection(FI, Section)) {
// Emit DWARF .file directives in the outermost scope.
- outputDwarfFileDirectives();
+ for (const std::string &S : DwarfFiles)
+ getStreamer().EmitRawText(S.data());
+ DwarfFiles.clear();
OS << "//\t.section";
Section->PrintSwitchToSection(*getStreamer().getContext().getAsmInfo(),
FI->getTargetTriple(), OS, SubSection);
diff --git a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h
index f18e61cdca5..34391a8b9ab 100644
--- a/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h
+++ b/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h
@@ -24,9 +24,6 @@ public:
NVPTXTargetStreamer(MCStreamer &S);
~NVPTXTargetStreamer() override;
- /// Outputs the list of the DWARF '.file' directives to the streamer.
- void outputDwarfFileDirectives();
-
/// Record DWARF file directives for later output.
/// According to PTX ISA, CUDA Toolkit documentation, 11.5.3. Debugging
/// Directives: .file
diff --git a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
index aec0d7db81a..3397769768a 100644
--- a/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
@@ -16,7 +16,6 @@
#include "InstPrinter/NVPTXInstPrinter.h"
#include "MCTargetDesc/NVPTXBaseInfo.h"
#include "MCTargetDesc/NVPTXMCAsmInfo.h"
-#include "MCTargetDesc/NVPTXTargetStreamer.h"
#include "NVPTX.h"
#include "NVPTXMCExpr.h"
#include "NVPTXMachineFunctionInfo.h"
@@ -881,22 +880,8 @@ void NVPTXAsmPrinter::emitHeader(Module &M, raw_ostream &O,
if (NTM.getDrvInterface() == NVPTX::NVCL)
O << ", texmode_independent";
- bool HasFullDebugInfo = false;
- for (DICompileUnit *CU : M.debug_compile_units()) {
- switch(CU->getEmissionKind()) {
- case DICompileUnit::NoDebug:
- case DICompileUnit::DebugDirectivesOnly:
- break;
- case DICompileUnit::LineTablesOnly:
- case DICompileUnit::FullDebug:
- HasFullDebugInfo = true;
- break;
- }
- if (HasFullDebugInfo)
- break;
- }
// FIXME: remove comment once debug info is properly supported.
- if (MMI && MMI->hasDebugInfo() && HasFullDebugInfo)
+ if (MMI && MMI->hasDebugInfo())
O << "//, debug";
O << "\n";
@@ -953,10 +938,6 @@ bool NVPTXAsmPrinter::doFinalization(Module &M) {
if (HasDebugInfo)
OutStreamer->EmitRawText("//\t}");
- // Output last DWARF .file directives, if any.
- static_cast<NVPTXTargetStreamer *>(OutStreamer->getTargetStreamer())
- ->outputDwarfFileDirectives();
-
return ret;
//bool Result = AsmPrinter::doFinalization(M);