diff options
author | Jack Carter <jack.carter@imgtec.com> | 2013-11-18 23:55:27 +0000 |
---|---|---|
committer | Jack Carter <jack.carter@imgtec.com> | 2013-11-18 23:55:27 +0000 |
commit | 86ac5c1b3917d6895acb48c38d499764799399e4 (patch) | |
tree | d16b58dfb2b5bcad60da1e35405860b4fb4e3ad0 /llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | |
parent | ba4773659ba6a241de7807cde2d0f54d33ea216b (diff) | |
download | bcm5719-llvm-86ac5c1b3917d6895acb48c38d499764799399e4.tar.gz bcm5719-llvm-86ac5c1b3917d6895acb48c38d499764799399e4.zip |
[Mips] MipsTargetStreamer refactoring.
No functionality changes.
llvm-svn: 195057
Diffstat (limited to 'llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp')
-rw-r--r-- | llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp index 6c48053615e..5548aaa9a6d 100644 --- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp +++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp @@ -39,9 +39,6 @@ using namespace llvm; -static cl::opt<bool> PrintHackDirectives("print-hack-directives", - cl::init(false), cl::Hidden); - static std::string ParseMipsTriple(StringRef TT, StringRef CPU) { std::string MipsArchFeature; size_t DashPosition = 0; @@ -131,67 +128,6 @@ static MCInstPrinter *createMipsMCInstPrinter(const Target &T, return new MipsInstPrinter(MAI, MII, MRI); } -namespace { -class MipsTargetAsmStreamer : public MipsTargetStreamer { - formatted_raw_ostream &OS; - -public: - MipsTargetAsmStreamer(formatted_raw_ostream &OS); - virtual void emitMipsHackELFFlags(unsigned Flags); - virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val); -}; - -MipsTargetAsmStreamer::MipsTargetAsmStreamer(formatted_raw_ostream &OS) - : OS(OS) {} - -void MipsTargetAsmStreamer::emitMipsHackELFFlags(unsigned Flags) { - if (!PrintHackDirectives) - return; - - OS << "\t.mips_hack_elf_flags 0x"; - OS.write_hex(Flags); - OS << '\n'; -} -void MipsTargetAsmStreamer::emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) { - if (!PrintHackDirectives) - return; - - OS << "\t.mips_hack_stocg "; - OS << Sym->getName(); - OS << ", "; - OS << Val; - OS << '\n'; -} - -class MipsTargetELFStreamer : public MipsTargetStreamer { -public: - MCELFStreamer &getStreamer(); - MipsTargetELFStreamer(); - virtual void emitMipsHackELFFlags(unsigned Flags); - virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val); -}; - -MipsTargetELFStreamer::MipsTargetELFStreamer() {} - -MCELFStreamer &MipsTargetELFStreamer::getStreamer() { - return static_cast<MCELFStreamer &>(*Streamer); -} - -void MipsTargetELFStreamer::emitMipsHackELFFlags(unsigned Flags) { - MCAssembler &MCA = getStreamer().getAssembler(); - MCA.setELFHeaderEFlags(Flags); -} - -// Set a symbol's STO flags -void MipsTargetELFStreamer::emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) { - MCSymbolData &Data = getStreamer().getOrCreateSymbolData(Sym); - // The "other" values are stored in the last 6 bits of the second byte - // The traditional defines for STO values assume the full byte and thus - // the shift to pack it. - MCELF::setOther(Data, Val >> 2); -} -} - static MCStreamer *createMCStreamer(const Target &T, StringRef TT, MCContext &Context, MCAsmBackend &MAB, raw_ostream &OS, MCCodeEmitter *Emitter, |