diff options
author | Adrian Prantl <aprantl@apple.com> | 2017-05-22 20:47:09 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2017-05-22 20:47:09 +0000 |
commit | fb31da1306e414e4101b84c89c3a6553efa48aff (patch) | |
tree | 39614bdc5088048e2cb4ffa6e5b7191f8b5e9e9c /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | |
parent | 525dcb617b1d3650061c8b6beff003c8c593ae9d (diff) | |
download | bcm5719-llvm-fb31da1306e414e4101b84c89c3a6553efa48aff.tar.gz bcm5719-llvm-fb31da1306e414e4101b84c89c3a6553efa48aff.zip |
Don't generate line&scope debug info for meta-instructions.
MachineInstructions that don't generate any code (such as
IMPLICIT_DEFs) should not generate any debug info either.
Fixes PR33107.
https://bugs.llvm.org/show_bug.cgi?id=33107
This reapplies r303566 without any modifications. The stage2 build
failures persisted even after reverting this patch, and looking back
through history, it looks like these tests are flaky.
llvm-svn: 303575
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp index 3410b98d777..8fb3db274ec 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp @@ -1029,7 +1029,7 @@ void DwarfDebug::beginInstruction(const MachineInstr *MI) { assert(CurMI); // Check if source location changes, but ignore DBG_VALUE and CFI locations. - if (MI->isDebugValue() || MI->isCFIInstruction()) + if (MI->isMetaInstruction()) return; const DebugLoc &DL = MI->getDebugLoc(); // When we emit a line-0 record, we don't update PrevInstLoc; so look at @@ -1111,7 +1111,7 @@ static DebugLoc findPrologueEndLoc(const MachineFunction *MF) { // the beginning of the function body. for (const auto &MBB : *MF) for (const auto &MI : MBB) - if (!MI.isDebugValue() && !MI.getFlag(MachineInstr::FrameSetup) && + if (!MI.isMetaInstruction() && !MI.getFlag(MachineInstr::FrameSetup) && MI.getDebugLoc()) return MI.getDebugLoc(); return DebugLoc(); |