#
30579ec8 |
| 02-Feb-2016 |
David Majnemer <david.majnemer@gmail.com> |
[codeview] Improve readability of codeview assembly output
Strictly speaking, this is not an improvement in functionality per se but a usability improvement to those debugging codeview.
llvm-svn: 2
[codeview] Improve readability of codeview assembly output
Strictly speaking, this is not an improvement in functionality per se but a usability improvement to those debugging codeview.
llvm-svn: 259601
show more ...
|
#
c9911f28 |
| 02-Feb-2016 |
David Majnemer <david.majnemer@gmail.com> |
[codeview] Correctly handle inlining functions post-dominated by unreachable
CodeView requires us to accurately describe the extent of the inlined code. We did this by grabbing the next debug locat
[codeview] Correctly handle inlining functions post-dominated by unreachable
CodeView requires us to accurately describe the extent of the inlined code. We did this by grabbing the next debug location in source order and using *that* to denote where we stopped inlining. However, this is not sufficient or correct in instances where there is no next debug location or the next debug location belongs to the start of another function.
To get this correct, use the end symbol of the function to denote the last possible place the inlining could have stopped at.
llvm-svn: 259548
show more ...
|
Revision tags: llvmorg-3.8.0-rc2 |
|
#
1fcd610c |
| 02-Feb-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Wire up the .cv_inline_linetable directive
This directive emits the binary annotations that describe line and code deltas in inlined call sites. Single-stepping through inlined frames in
[codeview] Wire up the .cv_inline_linetable directive
This directive emits the binary annotations that describe line and code deltas in inlined call sites. Single-stepping through inlined frames in windbg now works.
llvm-svn: 259535
show more ...
|
#
f3b9ba49 |
| 29-Jan-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Begin to add support for inlined call sites
Summary: There are three parts to inlined call frames: 1. The inlinee line subsection 2. The inline site symbol record 3. The function ids refe
[codeview] Begin to add support for inlined call sites
Summary: There are three parts to inlined call frames: 1. The inlinee line subsection 2. The inline site symbol record 3. The function ids referenced by both
This change starts by emitting function ids (3) for all subprograms and emitting the base inline site symbol record (2). The actual line numbers in (2) use an encoded format that will come next, along with the inlinee line subsection.
Reviewers: majnemer
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16333
llvm-svn: 259217
show more ...
|
#
2214ed89 |
| 29-Jan-2016 |
Reid Kleckner <rnk@google.com> |
Reland "[CodeView] Use assembler directives for line tables"
This reverts commit r259126 and relands r259117.
This time with updated library dependencies.
llvm-svn: 259130
|
#
00d9639c |
| 29-Jan-2016 |
Reid Kleckner <rnk@google.com> |
Revert "[CodeView] Use assembler directives for line tables"
This reverts commit r259117.
The LineInfo constructor is defined in the codeview library and we have to link against it now. Doing that
Revert "[CodeView] Use assembler directives for line tables"
This reverts commit r259117.
The LineInfo constructor is defined in the codeview library and we have to link against it now. Doing that isn't trivial, so reverting for now.
llvm-svn: 259126
show more ...
|
#
c62e379d |
| 28-Jan-2016 |
Reid Kleckner <rnk@google.com> |
[CodeView] Use assembler directives for line tables
Adds a new family of .cv_* directives to LLVM's variant of GAS syntax:
- .cv_file: Similar to DWARF .file directives
- .cv_loc: Similar to the D
[CodeView] Use assembler directives for line tables
Adds a new family of .cv_* directives to LLVM's variant of GAS syntax:
- .cv_file: Similar to DWARF .file directives
- .cv_loc: Similar to the DWARF .loc directive, but starts with a function id. CodeView line tables are emitted by function instead of by compilation unit, so we needed an extra field to communicate this. Rather than overloading the .loc direction further, we decided it was better to have our own directive.
- .cv_stringtable: Emits the codeview string table at the current position. Currently this just contains the filenames as null-terminated strings.
- .cv_filechecksums: Emits the file checksum table for all files used with .cv_file so far. There is currently no support for emitting actual checksums, just filenames.
This moves the line table emission code down into the assembler. This is in preparation for implementing the inlined call site line table format. The inline line table format encoding algorithm requires knowing the absolute code offsets, so it must run after the assembler has laid out the code.
David Majnemer collaborated on this patch.
llvm-svn: 259117
show more ...
|
Revision tags: llvmorg-3.8.0-rc1 |
|
#
9533af4f |
| 16-Jan-2016 |
Reid Kleckner <rnk@google.com> |
[codeview] Remove custom line info struct in favor of DebugLoc
The only functional change would be that we might emit multiple filename segments on code like this:
void f() { #include "p1/../t.
[codeview] Remove custom line info struct in favor of DebugLoc
The only functional change would be that we might emit multiple filename segments on code like this:
void f() { #include "p1/../t.h" #include "p2/../t.h" }
I believe these get separate DIFile metadata nodes, but will have the same canonicalized absolute path. Previously by computing the path up front and comparing it we would merge the line info segments.
llvm-svn: 257966
show more ...
|
#
70f5bc99 |
| 14-Jan-2016 |
Reid Kleckner <rnk@google.com> |
Rename WinCodeViewLineTables to CodeViewDebug, similar to DwarfDebug
Soon it will be responsible for more than line tables.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D1619
Rename WinCodeViewLineTables to CodeViewDebug, similar to DwarfDebug
Soon it will be responsible for more than line tables.
Reviewers: majnemer
Differential Revision: http://reviews.llvm.org/D16199
llvm-svn: 257792
show more ...
|