diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-18 19:08:20 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-03-18 19:08:20 +0000 |
commit | 105270f68ca894e205b97b3c7ed709affa7df4fe (patch) | |
tree | acf83ac0ce278e523d3a8c297d3f010ae30fa465 /llvm/lib/MC/MCObjectStreamer.cpp | |
parent | 36ccfa5779bb43b4ff4847769c6dbab68b62a614 (diff) | |
download | llvm-105270f68ca894e205b97b3c7ed709affa7df4fe.zip llvm-105270f68ca894e205b97b3c7ed709affa7df4fe.tar.gz llvm-105270f68ca894e205b97b3c7ed709affa7df4fe.tar.bz2 |
Add a default implementation of createObjectStreamer.
This removes duplicated code from backends that don't need to do anything
fancy.
llvm-svn: 232658
Diffstat (limited to 'llvm/lib/MC/MCObjectStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCObjectStreamer.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp index 5bfe834..9a7ea1b 100644 --- a/llvm/lib/MC/MCObjectStreamer.cpp +++ b/llvm/lib/MC/MCObjectStreamer.cpp @@ -20,6 +20,7 @@ #include "llvm/MC/MCSection.h" #include "llvm/MC/MCSymbol.h" #include "llvm/Support/ErrorHandling.h" +#include "llvm/Support/TargetRegistry.h" using namespace llvm; MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB, @@ -422,3 +423,16 @@ void MCObjectStreamer::FinishImpl() { flushPendingLabels(nullptr); getAssembler().Finish(); } + +MCStreamer *llvm::createObjectStreamer(const Triple &T, MCContext &Ctx, + MCAsmBackend &TAB, raw_ostream &OS, + MCCodeEmitter *Emitter, + const MCSubtargetInfo &STI, + bool RelaxAll) { + switch (T.getObjectFormat()) { + default: + return nullptr; + case Triple::ELF: + return createELFStreamer(Ctx, TAB, OS, Emitter, RelaxAll); + } +} |