summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCObjectStreamer.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-02-02 17:41:18 +0000
committerReid Kleckner <rnk@google.com>2016-02-02 17:41:18 +0000
commit1fcd610c9499d8f1eb42f339926ed17ec6d98ddd (patch)
treeb80a02a7939d74d6657ce1523b272f81ea84b403 /llvm/lib/MC/MCObjectStreamer.cpp
parent7d6b924df841faff6893207044cc57b02464b255 (diff)
downloadbcm5719-llvm-1fcd610c9499d8f1eb42f339926ed17ec6d98ddd.tar.gz
bcm5719-llvm-1fcd610c9499d8f1eb42f339926ed17ec6d98ddd.zip
[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
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCObjectStreamer.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp
index 4f0b597b434..4d849049f60 100644
--- a/llvm/lib/MC/MCObjectStreamer.cpp
+++ b/llvm/lib/MC/MCObjectStreamer.cpp
@@ -386,12 +386,13 @@ void MCObjectStreamer::EmitCVLinetableDirective(unsigned FunctionId,
void MCObjectStreamer::EmitCVInlineLinetableDirective(
unsigned PrimaryFunctionId, unsigned SourceFileId, unsigned SourceLineNum,
- ArrayRef<unsigned> SecondaryFunctionIds) {
+ const MCSymbol *FnStartSym, ArrayRef<unsigned> SecondaryFunctionIds) {
getContext().getCVContext().emitInlineLineTableForFunction(
- *this, PrimaryFunctionId, SourceFileId, SourceLineNum,
+ *this, PrimaryFunctionId, SourceFileId, SourceLineNum, FnStartSym,
SecondaryFunctionIds);
this->MCStreamer::EmitCVInlineLinetableDirective(
- PrimaryFunctionId, SourceFileId, SourceLineNum, SecondaryFunctionIds);
+ PrimaryFunctionId, SourceFileId, SourceLineNum, FnStartSym,
+ SecondaryFunctionIds);
}
void MCObjectStreamer::EmitCVStringTableDirective() {
OpenPOWER on IntegriCloud