From cd584a809de8824eea9bcd7f5df59f854413cc76 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 19 Mar 2015 01:50:16 +0000 Subject: Split the object streamer callback in one per file format. There are two main advantages to doing this * Targets that only need to handle one of the formats specially don't have to worry about the others. For example, x86 now only registers a constructor for the COFF streamer. * Changes to the arguments passed to one format constructor will not impact the other formats. llvm-svn: 232699 --- llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp') diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp index 0408baa413f..630ed1b1989 100644 --- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp +++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp @@ -122,13 +122,9 @@ static MCCodeGenInfo *createSparcV9MCCodeGenInfo(StringRef TT, Reloc::Model RM, return X; } -static MCStreamer *createMCStreamer(const Triple &T, MCContext &Context, - MCAsmBackend &MAB, raw_ostream &OS, - MCCodeEmitter *Emitter, - const MCSubtargetInfo &STI, bool RelaxAll) { - MCStreamer *S = createELFStreamer(Context, MAB, OS, Emitter, RelaxAll); - new SparcTargetELFStreamer(*S); - return S; +static MCTargetStreamer * +createObjectTargetStreamer(MCStreamer &S, const MCSubtargetInfo &STI) { + return new SparcTargetELFStreamer(S); } static MCTargetStreamer *createTargetAsmStreamer(MCStreamer &S, @@ -168,8 +164,9 @@ extern "C" void LLVMInitializeSparcTargetMC() { // Register the asm backend. TargetRegistry::RegisterMCAsmBackend(*T, createSparcAsmBackend); - // Register the object streamer. - TargetRegistry::RegisterMCObjectStreamer(*T, createMCStreamer); + // Register the object target streamer. + TargetRegistry::RegisterObjectTargetStreamer(*T, + createObjectTargetStreamer); // Register the asm streamer. TargetRegistry::RegisterAsmTargetStreamer(*T, createTargetAsmStreamer); -- cgit v1.2.3