diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-26 06:06:37 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-26 06:06:37 +0000 |
commit | 24ea09ef7d775934ef79b4a7cf871ecc2e501a88 (patch) | |
tree | b0727927bd4b21c0c92251f57f61d7abe639d1b6 /llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | |
parent | 56c4611340cbcf6a9a703abaec220e81c71a84a8 (diff) | |
download | bcm5719-llvm-24ea09ef7d775934ef79b4a7cf871ecc2e501a88.tar.gz bcm5719-llvm-24ea09ef7d775934ef79b4a7cf871ecc2e501a88.zip |
Construct the MCStreamer before constructing the MCTargetStreamer.
This has a few advantages:
* Only targets that use a MCTargetStreamer have to worry about it.
* There is never a MCTargetStreamer without a MCStreamer, so we can use a
reference.
* A MCTargetStreamer can talk to the MCStreamer in its constructor.
llvm-svn: 200129
Diffstat (limited to 'llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp index add6e4b751b..2dea1fd1687 100644 --- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp +++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp @@ -131,8 +131,10 @@ static MCStreamer *createMCStreamer(const Target &T, StringRef TT, MCContext &Context, MCAsmBackend &MAB, raw_ostream &OS, MCCodeEmitter *Emitter, bool RelaxAll, bool NoExecStack) { - MipsTargetELFStreamer *S = new MipsTargetELFStreamer(); - return createELFStreamer(Context, S, MAB, OS, Emitter, RelaxAll, NoExecStack); + MCStreamer *S = + createELFStreamer(Context, MAB, OS, Emitter, RelaxAll, NoExecStack); + new MipsTargetELFStreamer(*S); + return S; } static MCStreamer * @@ -140,11 +142,11 @@ createMCAsmStreamer(MCContext &Ctx, formatted_raw_ostream &OS, bool isVerboseAsm, bool useLoc, bool useCFI, bool useDwarfDirectory, MCInstPrinter *InstPrint, MCCodeEmitter *CE, MCAsmBackend *TAB, bool ShowInst) { - MipsTargetAsmStreamer *S = new MipsTargetAsmStreamer(OS); - - return llvm::createAsmStreamer(Ctx, S, OS, isVerboseAsm, useLoc, useCFI, - useDwarfDirectory, InstPrint, CE, TAB, - ShowInst); + MCStreamer *S = + llvm::createAsmStreamer(Ctx, OS, isVerboseAsm, useLoc, useCFI, + useDwarfDirectory, InstPrint, CE, TAB, ShowInst); + new MipsTargetAsmStreamer(*S, OS); + return S; } extern "C" void LLVMInitializeMipsTargetMC() { |