[llvm] r257528 - [CodeView] Initialize column-end to zero
David Majnemer via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 12 13:58:20 PST 2016
Author: majnemer
Date: Tue Jan 12 15:58:20 2016
New Revision: 257528
URL: http://llvm.org/viewvc/llvm-project?rev=257528&view=rev
Log:
[CodeView] Initialize column-end to zero
CodeView, unlike DWARF, can associate code with a range of columns.
However, LLVM can only represent a single column position internally.
We used to claim that the end column and start column were the same
which yielded less than satisfactory results: we would stop printing at
the _beginning_ of the source expression! Instead, mark the column-end
as 'zero' to indicate that we don't have one (as per the documentation
for IDiaLineNumber::get_lineNumberEnd).
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp
llvm/trunk/test/DebugInfo/COFF/multifunction.ll
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp?rev=257528&r1=257527&r2=257528&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp Tue Jan 12 15:58:20 2016
@@ -283,7 +283,7 @@ void WinCodeViewLineTables::emitDebugInf
ColSegI != ColSegEnd; ++ColSegI) {
unsigned ColumnNumber = InstrInfo[FI.Instrs[ColSegI]].ColumnNumber;
Asm->EmitInt16(ColumnNumber); // Start column
- Asm->EmitInt16(ColumnNumber); // End column
+ Asm->EmitInt16(0); // End column
}
Asm->OutStreamer->EmitLabel(FileSegmentEnd);
};
Modified: llvm/trunk/test/DebugInfo/COFF/multifunction.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/DebugInfo/COFF/multifunction.ll?rev=257528&r1=257527&r2=257528&view=diff
==============================================================================
--- llvm/trunk/test/DebugInfo/COFF/multifunction.ll (original)
+++ llvm/trunk/test/DebugInfo/COFF/multifunction.ll Tue Jan 12 15:58:20 2016
@@ -90,9 +90,9 @@
; X86-NEXT: .long [[X_RETURN]]-_x
; X86-NEXT: .long 5
; X86-NEXT: .short 42
-; X86-NEXT: .short 42
-; X86-NEXT: .short 43
+; X86-NEXT: .short 0
; X86-NEXT: .short 43
+; X86-NEXT: .short 0
; X86-NEXT: [[FILE_SEGMENT_END]]:
; X86-NEXT: [[F2_END]]:
; Symbol subsection for y
@@ -133,9 +133,9 @@
; X86-NEXT: .long [[Y_RETURN]]-_y
; X86-NEXT: .long 9
; X86-NEXT: .short 52
-; X86-NEXT: .short 52
-; X86-NEXT: .short 53
+; X86-NEXT: .short 0
; X86-NEXT: .short 53
+; X86-NEXT: .short 0
; X86-NEXT: [[FILE_SEGMENT_END]]:
; X86-NEXT: [[F2_END]]:
; Symbol subsection for f
@@ -180,13 +180,13 @@
; X86-NEXT: .long [[F_RETURN]]-_f
; X86-NEXT: .long 15
; X86-NEXT: .short 62
-; X86-NEXT: .short 62
-; X86-NEXT: .short 63
+; X86-NEXT: .short 0
; X86-NEXT: .short 63
+; X86-NEXT: .short 0
; X86-NEXT: .short 72
-; X86-NEXT: .short 72
-; X86-NEXT: .short 73
+; X86-NEXT: .short 0
; X86-NEXT: .short 73
+; X86-NEXT: .short 0
; X86-NEXT: [[FILE_SEGMENT_END]]:
; X86-NEXT: [[F2_END]]:
; File index to string table offset subsection
@@ -268,9 +268,9 @@
; OBJ32-NEXT: +0x0: 4
; OBJ32-NEXT: +0x5: 5
; OBJ32-NEXT: ColStart: 42
-; OBJ32-NEXT: ColEnd: 42
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ColStart: 43
-; OBJ32-NEXT: ColEnd: 43
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ]
; OBJ32-NEXT: ]
; OBJ32-NEXT: FunctionLineTable [
@@ -282,9 +282,9 @@
; OBJ32-NEXT: +0x0: 8
; OBJ32-NEXT: +0x5: 9
; OBJ32-NEXT: ColStart: 52
-; OBJ32-NEXT: ColEnd: 52
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ColStart: 53
-; OBJ32-NEXT: ColEnd: 53
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ]
; OBJ32-NEXT: ]
; OBJ32-NEXT: FunctionLineTable [
@@ -298,13 +298,13 @@
; OBJ32-NEXT: +0xA: 14
; OBJ32-NEXT: +0xF: 15
; OBJ32-NEXT: ColStart: 62
-; OBJ32-NEXT: ColEnd: 62
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ColStart: 63
-; OBJ32-NEXT: ColEnd: 63
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ColStart: 72
-; OBJ32-NEXT: ColEnd: 72
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ColStart: 73
-; OBJ32-NEXT: ColEnd: 73
+; OBJ32-NEXT: ColEnd: 0
; OBJ32-NEXT: ]
; OBJ32-NEXT: ]
@@ -392,9 +392,9 @@
; X64-NEXT: .short 0
; X64-NEXT: .short 0
; X64-NEXT: .short 42
-; X64-NEXT: .short 42
-; X64-NEXT: .short 43
+; X64-NEXT: .short 0
; X64-NEXT: .short 43
+; X64-NEXT: .short 0
; X64-NEXT: [[FILE_SEGMENT_END]]:
; X64-NEXT: [[F2_END]]:
; Symbol subsection for y
@@ -439,9 +439,9 @@
; X64-NEXT: .short 0
; X64-NEXT: .short 0
; X64-NEXT: .short 52
-; X64-NEXT: .short 52
-; X64-NEXT: .short 53
+; X64-NEXT: .short 0
; X64-NEXT: .short 53
+; X64-NEXT: .short 0
; X64-NEXT: [[FILE_SEGMENT_END]]:
; X64-NEXT: [[F2_END]]:
; Symbol subsection for f
@@ -490,13 +490,13 @@
; X64-NEXT: .short 0
; X64-NEXT: .short 0
; X64-NEXT: .short 62
-; X64-NEXT: .short 62
-; X64-NEXT: .short 63
+; X64-NEXT: .short 0
; X64-NEXT: .short 63
+; X64-NEXT: .short 0
; X64-NEXT: .short 72
-; X64-NEXT: .short 72
-; X64-NEXT: .short 73
+; X64-NEXT: .short 0
; X64-NEXT: .short 73
+; X64-NEXT: .short 0
; X64-NEXT: [[FILE_SEGMENT_END]]:
; X64-NEXT: [[F2_END]]:
; File index to string table offset subsection
@@ -581,9 +581,9 @@
; OBJ64-NEXT: ColStart: 0
; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 42
-; OBJ64-NEXT: ColEnd: 42
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 43
-; OBJ64-NEXT: ColEnd: 43
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ]
; OBJ64-NEXT: ]
; OBJ64-NEXT: FunctionLineTable [
@@ -598,9 +598,9 @@
; OBJ64-NEXT: ColStart: 0
; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 52
-; OBJ64-NEXT: ColEnd: 52
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 53
-; OBJ64-NEXT: ColEnd: 53
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ]
; OBJ64-NEXT: ]
; OBJ64-NEXT: FunctionLineTable [
@@ -617,13 +617,13 @@
; OBJ64-NEXT: ColStart: 0
; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 62
-; OBJ64-NEXT: ColEnd: 62
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 63
-; OBJ64-NEXT: ColEnd: 63
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 72
-; OBJ64-NEXT: ColEnd: 72
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ColStart: 73
-; OBJ64-NEXT: ColEnd: 73
+; OBJ64-NEXT: ColEnd: 0
; OBJ64-NEXT: ]
; OBJ64-NEXT: ]
More information about the llvm-commits
mailing list