[PATCH] D26982: Restructure DwarfDebug::beginInstruction (NFC).
Paul Robinson via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 22 11:56:56 PST 2016
This revision was automatically updated to reflect the committed changes.
probinson marked an inline comment as done.
Closed by commit rL287686: Restructure DwarfDebug::beginInstruction(). [NFC] (authored by probinson).
Changed prior to commit:
https://reviews.llvm.org/D26982?vs=78893&id=78913#toc
Repository:
rL LLVM
https://reviews.llvm.org/D26982
Files:
llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Index: llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ llvm/trunk/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1007,29 +1007,34 @@
assert(CurMI);
// Check if source location changes, but ignore DBG_VALUE locations.
- if (!MI->isDebugValue()) {
- const DebugLoc &DL = MI->getDebugLoc();
- if (DL != PrevInstLoc) {
- if (DL) {
- unsigned Flags = 0;
- PrevInstLoc = DL;
- if (DL == PrologEndLoc) {
- Flags |= DWARF2_FLAG_PROLOGUE_END;
- PrologEndLoc = DebugLoc();
- Flags |= DWARF2_FLAG_IS_STMT;
- }
- if (DL.getLine() !=
- Asm->OutStreamer->getContext().getCurrentDwarfLoc().getLine())
- Flags |= DWARF2_FLAG_IS_STMT;
-
- const MDNode *Scope = DL.getScope();
- recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags);
- } else if (UnknownLocations) {
- PrevInstLoc = DL;
- recordSourceLine(0, 0, nullptr, 0);
- }
+ if (MI->isDebugValue())
+ return;
+ const DebugLoc &DL = MI->getDebugLoc();
+ if (DL == PrevInstLoc)
+ return;
+
+ if (!DL) {
+ // We have an unspecified location, which might want to be line 0.
+ if (UnknownLocations) {
+ PrevInstLoc = DL;
+ recordSourceLine(0, 0, nullptr, 0);
}
+ return;
}
+
+ // We have a new, explicit location.
+ unsigned Flags = 0;
+ PrevInstLoc = DL;
+ if (DL == PrologEndLoc) {
+ Flags |= DWARF2_FLAG_PROLOGUE_END | DWARF2_FLAG_IS_STMT;
+ PrologEndLoc = DebugLoc();
+ }
+ if (DL.getLine() !=
+ Asm->OutStreamer->getContext().getCurrentDwarfLoc().getLine())
+ Flags |= DWARF2_FLAG_IS_STMT;
+
+ const MDNode *Scope = DL.getScope();
+ recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags);
}
static DebugLoc findPrologueEndLoc(const MachineFunction *MF) {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D26982.78913.patch
Type: text/x-patch
Size: 1924 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161122/04199ebd/attachment.bin>
More information about the llvm-commits
mailing list