diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-03-13 21:47:12 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-03-13 21:47:12 +0000 |
commit | 5cff0e6a81e8e8e11b66efd2bf60617fac2a70b7 (patch) | |
tree | a424a14d1b1a87d687b116b869a61e74eee62ee3 /llvm/lib | |
parent | f53d8dd37dd2f81fa95a00a9e2dbd574030e112e (diff) | |
download | bcm5719-llvm-5cff0e6a81e8e8e11b66efd2bf60617fac2a70b7.tar.gz bcm5719-llvm-5cff0e6a81e8e8e11b66efd2bf60617fac2a70b7.zip |
MCDwarf: Extract the DWARF line table header handling into its own type
llvm-svn: 203856
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/MC/MCDwarf.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCDwarf.cpp b/llvm/lib/MC/MCDwarf.cpp index 5b633ebf8d2..81ba40e9645 100644 --- a/llvm/lib/MC/MCDwarf.cpp +++ b/llvm/lib/MC/MCDwarf.cpp @@ -224,11 +224,9 @@ const MCSymbol *MCDwarfFileTable::Emit(MCStreamer *MCOS) { return LineStartSym; } -const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const { +std::pair<MCSymbol *, MCSymbol *> MCDwarfLineTableHeader::Emit(MCStreamer *MCOS) const { MCContext &context = MCOS->getContext(); - - // Create a symbol at the beginning of the line table. MCSymbol *LineStartSym = Label; if (!LineStartSym) @@ -302,6 +300,14 @@ const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const { // end of the prologue (that was used in a previous expression). MCOS->EmitLabel(ProEndSym); + return std::make_pair(LineStartSym, LineEndSym); +} + +const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const { + MCSymbol *LineStartSym; + MCSymbol *LineEndSym; + std::tie(LineStartSym, LineEndSym) = Header.Emit(MCOS); + // Put out the line tables. for (const auto &LineSec : MCLineSections.getMCLineEntries()) EmitDwarfLineTable(MCOS, LineSec.first, LineSec.second); @@ -326,6 +332,10 @@ const MCSymbol *MCDwarfFileTable::EmitCU(MCStreamer *MCOS) const { } unsigned MCDwarfFileTable::getFile(StringRef Directory, StringRef FileName, unsigned FileNumber) { + return Header.getFile(Directory, FileName, FileNumber); +} + +unsigned MCDwarfLineTableHeader::getFile(StringRef Directory, StringRef FileName, unsigned FileNumber) { // Make space for this FileNumber in the MCDwarfFiles vector if needed. MCDwarfFiles.resize(FileNumber + 1); |