summaryrefslogtreecommitdiff
path: root/extra/llvm/llvm-3.1-fix-debug-line-info.patch
blob: de2d46b618c3f8ad1df243ae3f214ef9c006a580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
From 737fdba46f2b2b7d39bc728d15ea2334c44779e0 Mon Sep 17 00:00:00 2001
From: Ben Longbons <b.r.longbons@gmail.com>
Date: Fri, 29 Jun 2012 12:58:34 -0700
Subject: [PATCH] Revert "Patch to set is_stmt a little better for prologue
 lines in a function."

This meants that the debugger could find meaningful line information.

This reverts commit 60b35f408bc3194e7ea4e96367c0b42dc5e7f850.
---
 lib/CodeGen/AsmPrinter/DwarfDebug.cpp |    7 ++-----
 test/DebugInfo/X86/ending-run.ll      |    6 ++----
 2 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index 3e79a6d..24aedfb 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -1093,15 +1093,12 @@ void DwarfDebug::beginInstruction(const MachineInstr *MI) {
   if (!MI->isDebugValue()) {
     DebugLoc DL = MI->getDebugLoc();
     if (DL != PrevInstLoc && (!DL.isUnknown() || UnknownLocations)) {
-      unsigned Flags = 0;
+      unsigned Flags = DWARF2_FLAG_IS_STMT;
       PrevInstLoc = DL;
       if (DL == PrologEndLoc) {
         Flags |= DWARF2_FLAG_PROLOGUE_END;
         PrologEndLoc = DebugLoc();
       }
-      if (PrologEndLoc.isUnknown())
-        Flags |= DWARF2_FLAG_IS_STMT;
-
       if (!DL.isUnknown()) {
         const MDNode *Scope = DL.getScope(Asm->MF->getFunction()->getContext());
         recordSourceLine(DL.getLine(), DL.getCol(), Scope, Flags);
@@ -1382,7 +1379,7 @@ void DwarfDebug::beginFunction(const MachineFunction *MF) {
                                        MF->getFunction()->getContext());
     recordSourceLine(FnStartDL.getLine(), FnStartDL.getCol(),
                      FnStartDL.getScope(MF->getFunction()->getContext()),
-                     0);
+                     DWARF2_FLAG_IS_STMT);
   }
 }
 
diff --git a/test/DebugInfo/X86/ending-run.ll b/test/DebugInfo/X86/ending-run.ll
index 6935c47..0cd3de1 100644
--- a/test/DebugInfo/X86/ending-run.ll
+++ b/test/DebugInfo/X86/ending-run.ll
@@ -1,11 +1,9 @@
 ; RUN: llc -mtriple=x86_64-apple-darwin %s -o %t -filetype=obj
 ; RUN: llvm-dwarfdump %t | FileCheck %s
 
-; Check that the line table starts at 7, not 4, but that the first
-; statement isn't until line 8.
+; Check that the line table starts at 7, not 4.
 
-; CHECK-NOT: 0x0000000000000000      7      0      1   0  is_stmt
-; CHECK: 0x0000000000000000      7      0      1   0
+; CHECK: 0x0000000000000000      7      0      1   0  is_stmt
 ; CHECK: 0x0000000000000004      8     18      1   0  is_stmt prologue_end
 
 define i32 @callee(i32 %x) nounwind uwtable ssp {
-- 
1.7.10