diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-10-08 13:08:17 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-10-08 13:08:17 +0000 |
commit | 320296a4cfe414ce59f406b8a5ce15272f563103 (patch) | |
tree | adb8ac19e1ad3d948795c00cd022008111a6e199 /lib/Target/Mips/AsmParser | |
parent | 26c46ba11c9c614ee79ed7f5c505578187fb2971 (diff) | |
download | llvm-320296a4cfe414ce59f406b8a5ce15272f563103.tar.gz llvm-320296a4cfe414ce59f406b8a5ce15272f563103.tar.bz2 llvm-320296a4cfe414ce59f406b8a5ce15272f563103.tar.xz |
Add a MCTargetStreamer interface.
This patch fixes an old FIXME by creating a MCTargetStreamer interface
and moving the target specific functions for ARM, Mips and PPC to it.
The ARM streamer is still declared in a common place because it is
used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are
completely hidden in the corresponding Target directories.
I will send an email to llvmdev with instructions on how to use this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192181 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/AsmParser')
-rw-r--r-- | lib/Target/Mips/AsmParser/MipsAsmParser.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp index 1f39f48259..ae9d2764fb 100644 --- a/lib/Target/Mips/AsmParser/MipsAsmParser.cpp +++ b/lib/Target/Mips/AsmParser/MipsAsmParser.cpp @@ -9,6 +9,7 @@ #include "MCTargetDesc/MipsMCTargetDesc.h" #include "MipsRegisterInfo.h" +#include "MipsTargetStreamer.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCExpr.h" @@ -56,6 +57,11 @@ private: namespace { class MipsAsmParser : public MCTargetAsmParser { + MipsTargetStreamer &getTargetStreamer() { + MCTargetStreamer &TS = Parser.getStreamer().getTargetStreamer(); + return static_cast<MipsTargetStreamer &>(TS); + } + MCSubtargetInfo &STI; MCAsmParser &Parser; MipsAssemblerOptions Options; @@ -2115,7 +2121,7 @@ bool MipsAsmParser::parseDirectiveMipsHackStocg() { if (Parser.parseAbsoluteExpression(Flags)) return TokError("unexpected token"); - Parser.getStreamer().emitMipsHackSTOCG(Sym, Flags); + getTargetStreamer().emitMipsHackSTOCG(Sym, Flags); return false; } @@ -2124,7 +2130,7 @@ bool MipsAsmParser::parseDirectiveMipsHackELFFlags() { if (Parser.parseAbsoluteExpression(Flags)) return TokError("unexpected token"); - Parser.getStreamer().emitMipsHackELFFlags(Flags); + getTargetStreamer().emitMipsHackELFFlags(Flags); return false; } |