diff options
author | Reid Kleckner <rnk@google.com> | 2016-07-14 23:47:15 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-07-14 23:47:15 +0000 |
commit | c29b4f07f9cf6fdbaac1b3565f9677421710ae09 (patch) | |
tree | d04f57000dab6f4f30e339164c2364dd0f94efe9 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | |
parent | 1a3fd1377679cff451a34ef1ac03a656b0ea2736 (diff) | |
download | bcm5719-llvm-c29b4f07f9cf6fdbaac1b3565f9677421710ae09.tar.gz bcm5719-llvm-c29b4f07f9cf6fdbaac1b3565f9677421710ae09.zip |
[codeview] Shrink inlined call site line info tables
For a fully inlined call chain like a -> b -> c -> d, we were emitting
line info for 'd' 3 separate times: once for d's actual InlineSite line
table, and twice for 'b' and 'c'. This is particularly inefficient when
all these functions are in different headers, because now we need to
encode the file change. Windbg was coping with our suboptimal output, so
this should not be noticeable from the debugger.
llvm-svn: 275502
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h index 31da1b11fa4..e4bbd61d4ce 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h @@ -78,6 +78,9 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase { SmallVector<LocalVariable, 1> InlinedLocals; SmallVector<const DILocation *, 1> ChildSites; const DISubprogram *Inlinee = nullptr; + + /// The ID of the inline site or function used with .cv_loc. Not a type + /// index. unsigned SiteFuncId = 0; }; |