From c29b4f07f9cf6fdbaac1b3565f9677421710ae09 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Thu, 14 Jul 2016 23:47:15 +0000 Subject: [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 --- llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h') 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 InlinedLocals; SmallVector ChildSites; const DISubprogram *Inlinee = nullptr; + + /// The ID of the inline site or function used with .cv_loc. Not a type + /// index. unsigned SiteFuncId = 0; }; -- cgit v1.2.3