From 6fcbd7e909b9e8bc35d51b58faed52b10e39eb75 Mon Sep 17 00:00:00 2001 From: David Majnemer Date: Fri, 29 Jan 2016 19:24:12 +0000 Subject: [CodeView] Implement .cv_inline_linetable This support is _very_ rudimentary, just enough to get some basic data into the CodeView debug section. Left to do is: - Use the combined opcodes to save space. - Do something about code offsets. llvm-svn: 259230 --- llvm/lib/MC/MCObjectStreamer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/lib/MC/MCObjectStreamer.cpp') diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 71d578aca9d..4f0b597b434 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -384,6 +384,16 @@ void MCObjectStreamer::EmitCVLinetableDirective(unsigned FunctionId, this->MCStreamer::EmitCVLinetableDirective(FunctionId, Begin, End); } +void MCObjectStreamer::EmitCVInlineLinetableDirective( + unsigned PrimaryFunctionId, unsigned SourceFileId, unsigned SourceLineNum, + ArrayRef SecondaryFunctionIds) { + getContext().getCVContext().emitInlineLineTableForFunction( + *this, PrimaryFunctionId, SourceFileId, SourceLineNum, + SecondaryFunctionIds); + this->MCStreamer::EmitCVInlineLinetableDirective( + PrimaryFunctionId, SourceFileId, SourceLineNum, SecondaryFunctionIds); +} + void MCObjectStreamer::EmitCVStringTableDirective() { getContext().getCVContext().emitStringTable(*this); } -- cgit v1.2.3