summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCObjectStreamer.cpp
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-01-29 19:24:12 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-01-29 19:24:12 +0000
commit6fcbd7e909b9e8bc35d51b58faed52b10e39eb75 (patch)
tree7b07a7d1a345d0d97976c53d3fe2f46cc0af3dfb /llvm/lib/MC/MCObjectStreamer.cpp
parentad0e791e0b9e8ec77d8cbd0383b8ebf4caa17ef5 (diff)
downloadbcm5719-llvm-6fcbd7e909b9e8bc35d51b58faed52b10e39eb75.tar.gz
bcm5719-llvm-6fcbd7e909b9e8bc35d51b58faed52b10e39eb75.zip
[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
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCObjectStreamer.cpp10
1 files changed, 10 insertions, 0 deletions
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<unsigned> SecondaryFunctionIds) {
+ getContext().getCVContext().emitInlineLineTableForFunction(
+ *this, PrimaryFunctionId, SourceFileId, SourceLineNum,
+ SecondaryFunctionIds);
+ this->MCStreamer::EmitCVInlineLinetableDirective(
+ PrimaryFunctionId, SourceFileId, SourceLineNum, SecondaryFunctionIds);
+}
+
void MCObjectStreamer::EmitCVStringTableDirective() {
getContext().getCVContext().emitStringTable(*this);
}
OpenPOWER on IntegriCloud