Pass a MCObjectStreamer instead of a MCStreamer when possible.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208567 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Rafael Espindola
2014-05-12 14:28:48 +00:00
parent 03faa833ec
commit 6a139d7a29
2 changed files with 12 additions and 11 deletions

View File

@ -30,6 +30,7 @@
namespace llvm { namespace llvm {
class MCAsmBackend; class MCAsmBackend;
class MCContext; class MCContext;
class MCObjectStreamer;
class MCSection; class MCSection;
class MCStreamer; class MCStreamer;
class MCSymbol; class MCSymbol;
@ -147,7 +148,7 @@ public:
// This is called when an instruction is assembled into the specified // This is called when an instruction is assembled into the specified
// section and if there is information from the last .loc directive that // section and if there is information from the last .loc directive that
// has yet to have a line entry made for it is made. // has yet to have a line entry made for it is made.
static void Make(MCStreamer *MCOS, const MCSection *Section); static void Make(MCObjectStreamer *MCOS, const MCSection *Section);
}; };
/// MCLineSection - Instances of this class represent the line information /// MCLineSection - Instances of this class represent the line information
@ -210,10 +211,10 @@ class MCDwarfLineTable {
public: public:
// This emits the Dwarf file and the line tables for all Compile Units. // This emits the Dwarf file and the line tables for all Compile Units.
static void Emit(MCStreamer *MCOS); static void Emit(MCObjectStreamer *MCOS);
// This emits the Dwarf file and the line tables for a given Compile Unit. // This emits the Dwarf file and the line tables for a given Compile Unit.
void EmitCU(MCStreamer *MCOS) const; void EmitCU(MCObjectStreamer *MCOS) const;
unsigned getFile(StringRef &Directory, StringRef &FileName, unsigned getFile(StringRef &Directory, StringRef &FileName,
unsigned FileNumber = 0); unsigned FileNumber = 0);
@ -485,8 +486,8 @@ public:
// //
// This emits the frame info section. // This emits the frame info section.
// //
static void Emit(MCStreamer &streamer, MCAsmBackend *MAB, bool isEH); static void Emit(MCObjectStreamer &streamer, MCAsmBackend *MAB, bool isEH);
static void EmitAdvanceLoc(MCStreamer &Streamer, uint64_t AddrDelta); static void EmitAdvanceLoc(MCObjectStreamer &Streamer, uint64_t AddrDelta);
static void EncodeAdvanceLoc(MCContext &Context, uint64_t AddrDelta, static void EncodeAdvanceLoc(MCContext &Context, uint64_t AddrDelta,
raw_ostream &OS); raw_ostream &OS);
}; };

View File

@ -17,8 +17,8 @@
#include "llvm/MC/MCContext.h" #include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h" #include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCObjectFileInfo.h" #include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCObjectStreamer.h"
#include "llvm/MC/MCRegisterInfo.h" #include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCStreamer.h"
#include "llvm/MC/MCSymbol.h" #include "llvm/MC/MCSymbol.h"
#include "llvm/Support/Debug.h" #include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h" #include "llvm/Support/ErrorHandling.h"
@ -63,7 +63,7 @@ static inline uint64_t ScaleAddrDelta(MCContext &Context, uint64_t AddrDelta) {
// and if there is information from the last .loc directive that has yet to have // and if there is information from the last .loc directive that has yet to have
// a line entry made for it is made. // a line entry made for it is made.
// //
void MCLineEntry::Make(MCStreamer *MCOS, const MCSection *Section) { void MCLineEntry::Make(MCObjectStreamer *MCOS, const MCSection *Section) {
if (!MCOS->getContext().getDwarfLocSeen()) if (!MCOS->getContext().getDwarfLocSeen())
return; return;
@ -205,7 +205,7 @@ EmitDwarfLineTable(MCStreamer *MCOS, const MCSection *Section,
// //
// This emits the Dwarf file and the line tables. // This emits the Dwarf file and the line tables.
// //
void MCDwarfLineTable::Emit(MCStreamer *MCOS) { void MCDwarfLineTable::Emit(MCObjectStreamer *MCOS) {
MCContext &context = MCOS->getContext(); MCContext &context = MCOS->getContext();
auto &LineTables = context.getMCDwarfLineTables(); auto &LineTables = context.getMCDwarfLineTables();
@ -319,7 +319,7 @@ MCDwarfLineTableHeader::Emit(MCStreamer *MCOS,
return std::make_pair(LineStartSym, LineEndSym); return std::make_pair(LineStartSym, LineEndSym);
} }
void MCDwarfLineTable::EmitCU(MCStreamer *MCOS) const { void MCDwarfLineTable::EmitCU(MCObjectStreamer *MCOS) const {
MCSymbol *LineEndSym = Header.Emit(MCOS).second; MCSymbol *LineEndSym = Header.Emit(MCOS).second;
// Put out the line tables. // Put out the line tables.
@ -1476,7 +1476,7 @@ namespace llvm {
}; };
} }
void MCDwarfFrameEmitter::Emit(MCStreamer &Streamer, MCAsmBackend *MAB, void MCDwarfFrameEmitter::Emit(MCObjectStreamer &Streamer, MCAsmBackend *MAB,
bool IsEH) { bool IsEH) {
Streamer.generateCompactUnwindEncodings(MAB); Streamer.generateCompactUnwindEncodings(MAB);
@ -1553,7 +1553,7 @@ void MCDwarfFrameEmitter::Emit(MCStreamer &Streamer, MCAsmBackend *MAB,
Streamer.EmitLabel(FDEEnd); Streamer.EmitLabel(FDEEnd);
} }
void MCDwarfFrameEmitter::EmitAdvanceLoc(MCStreamer &Streamer, void MCDwarfFrameEmitter::EmitAdvanceLoc(MCObjectStreamer &Streamer,
uint64_t AddrDelta) { uint64_t AddrDelta) {
MCContext &Context = Streamer.getContext(); MCContext &Context = Streamer.getContext();
SmallString<256> Tmp; SmallString<256> Tmp;