summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-03-19 01:50:16 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-03-19 01:50:16 +0000
commitcd584a809de8824eea9bcd7f5df59f854413cc76 (patch)
treec250018fdaa232fe9f5a54f1d731c0f676fd6d3f /llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
parent58e2492f9313953f2e8eb395bb9937b83eec1fbf (diff)
downloadbcm5719-llvm-cd584a809de8824eea9bcd7f5df59f854413cc76.tar.gz
bcm5719-llvm-cd584a809de8824eea9bcd7f5df59f854413cc76.zip
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
Diffstat (limited to 'llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp')
-rw-r--r--llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp18
1 files changed, 1 insertions, 17 deletions
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
index afcc95307c2..2e1644d59a7 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
@@ -344,22 +344,6 @@ static MCCodeGenInfo *createX86MCCodeGenInfo(StringRef TT, Reloc::Model RM,
return X;
}
-static MCStreamer *createMCStreamer(const Triple &T, MCContext &Ctx,
- MCAsmBackend &MAB, raw_ostream &OS,
- MCCodeEmitter *Emitter,
- const MCSubtargetInfo &STI, bool RelaxAll) {
- switch (T.getObjectFormat()) {
- default: llvm_unreachable("unsupported object format");
- case Triple::MachO:
- return createMachOStreamer(Ctx, MAB, OS, Emitter, RelaxAll);
- case Triple::COFF:
- assert(T.isOSWindows() && "only Windows COFF is supported");
- return createX86WinCOFFStreamer(Ctx, MAB, Emitter, OS, RelaxAll);
- case Triple::ELF:
- return createELFStreamer(Ctx, MAB, OS, Emitter, RelaxAll);
- }
-}
-
static MCInstPrinter *createX86MCInstPrinter(const Target &T,
unsigned SyntaxVariant,
const MCAsmInfo &MAI,
@@ -414,7 +398,7 @@ extern "C" void LLVMInitializeX86TargetMC() {
TargetRegistry::RegisterMCCodeEmitter(*T, createX86MCCodeEmitter);
// Register the object streamer.
- TargetRegistry::RegisterMCObjectStreamer(*T, createMCStreamer);
+ TargetRegistry::RegisterCOFFStreamer(*T, createX86WinCOFFStreamer);
// Register the MCInstPrinter.
TargetRegistry::RegisterMCInstPrinter(*T, createX86MCInstPrinter);
OpenPOWER on IntegriCloud