diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-15 14:43:02 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-08-15 14:43:02 +0000 |
commit | 5e955fbd27810cbcebaa6cad40e82add6779b964 (patch) | |
tree | cb9779381981971e7ecf866809e350c926d10005 /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 3851808e40762384fd583197fbe6ace7b5328183 (diff) | |
download | bcm5719-llvm-5e955fbd27810cbcebaa6cad40e82add6779b964.tar.gz bcm5719-llvm-5e955fbd27810cbcebaa6cad40e82add6779b964.zip |
Make EmitDwarfSetLineAddr an static helper. NFC.
llvm-svn: 215718
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 76a6532b8ee..a4788992e02 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -275,12 +275,24 @@ static const MCExpr *buildSymbolDiff(MCObjectStreamer &OS, const MCSymbol *A, return AddrDelta; } +static void emitDwarfSetLineAddr(MCObjectStreamer &OS, int64_t LineDelta, + const MCSymbol *Label, int PointerSize) { + // emit the sequence to set the address + OS.EmitIntValue(dwarf::DW_LNS_extended_op, 1); + OS.EmitULEB128IntValue(PointerSize + 1); + OS.EmitIntValue(dwarf::DW_LNE_set_address, 1); + OS.EmitSymbolValue(Label, PointerSize); + + // emit the sequence for the LineDelta (from 1) and a zero address delta. + MCDwarfLineAddr::Emit(&OS, LineDelta, 0); +} + void MCObjectStreamer::EmitDwarfAdvanceLineAddr(int64_t LineDelta, const MCSymbol *LastLabel, const MCSymbol *Label, unsigned PointerSize) { if (!LastLabel) { - EmitDwarfSetLineAddr(LineDelta, Label, PointerSize); + emitDwarfSetLineAddr(*this, LineDelta, Label, PointerSize); return; } const MCExpr *AddrDelta = buildSymbolDiff(*this, Label, LastLabel); |