[llvm] r195057 - [Mips] MipsTargetStreamer refactoring.
Eric Christopher
echristo at gmail.com
Mon Nov 18 18:05:24 PST 2013
Actually after that we had empty special member functions, I went
ahead and removed those too.
-eric
On Mon, Nov 18, 2013 at 5:59 PM, Eric Christopher <echristo at gmail.com> wrote:
> OS was unused in the class. I've fixed that up for you.
> --enable-werror is pretty handy.
>
> -eric
>
> On Mon, Nov 18, 2013 at 3:55 PM, Jack Carter <jack.carter at imgtec.com> wrote:
>> Author: jacksprat
>> Date: Mon Nov 18 17:55:27 2013
>> New Revision: 195057
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=195057&view=rev
>> Log:
>> [Mips] MipsTargetStreamer refactoring.
>>
>> No functionality changes.
>>
>> Added:
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
>> Modified:
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
>> llvm/trunk/lib/Target/Mips/MipsTargetStreamer.h
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt?rev=195057&r1=195056&r2=195057&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/CMakeLists.txt Mon Nov 18 17:55:27 2013
>> @@ -5,6 +5,7 @@ add_llvm_library(LLVMMipsDesc
>> MipsMCTargetDesc.cpp
>> MipsELFObjectWriter.cpp
>> MipsReginfo.cpp
>> + MipsTargetStreamer.cpp
>> )
>>
>> add_dependencies(LLVMMipsDesc MipsCommonTableGen)
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp?rev=195057&r1=195056&r2=195057&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp Mon Nov 18 17:55:27 2013
>> @@ -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 *createMipsMCInstPr
>> 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,
>>
>> Added: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp?rev=195057&view=auto
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp (added)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp Mon Nov 18 17:55:27 2013
>> @@ -0,0 +1,69 @@
>> +//===-- MipsTargetStreamer.cpp - Mips Target Streamer Methods -------------===//
>> +//
>> +// The LLVM Compiler Infrastructure
>> +//
>> +// This file is distributed under the University of Illinois Open Source
>> +// License. See LICENSE.TXT for details.
>> +//
>> +//===----------------------------------------------------------------------===//
>> +//
>> +// This file provides Mips specific target streamer methods.
>> +//
>> +//===----------------------------------------------------------------------===//
>> +
>> +#include "MipsTargetStreamer.h"
>> +#include "llvm/MC/MCELF.h"
>> +#include "llvm/MC/MCSymbol.h"
>> +#include "llvm/Support/CommandLine.h"
>> +#include "llvm/Support/ErrorHandling.h"
>> +#include "llvm/Support/FormattedStream.h"
>> +
>> +using namespace llvm;
>> +
>> +static cl::opt<bool> PrintHackDirectives("print-hack-directives",
>> + cl::init(false), cl::Hidden);
>> +
>> +// pin vtable to this file
>> +void MipsTargetStreamer::anchor() {}
>> +
>> +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';
>> +}
>> +
>> +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);
>> +}
>>
>> Modified: llvm/trunk/lib/Target/Mips/MipsTargetStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Mips/MipsTargetStreamer.h?rev=195057&r1=195056&r2=195057&view=diff
>> ==============================================================================
>> --- llvm/trunk/lib/Target/Mips/MipsTargetStreamer.h (original)
>> +++ llvm/trunk/lib/Target/Mips/MipsTargetStreamer.h Mon Nov 18 17:55:27 2013
>> @@ -10,14 +10,36 @@
>> #ifndef MIPSTARGETSTREAMER_H
>> #define MIPSTARGETSTREAMER_H
>>
>> +#include "llvm/MC/MCELFStreamer.h"
>> #include "llvm/MC/MCStreamer.h"
>>
>> namespace llvm {
>> class MipsTargetStreamer : public MCTargetStreamer {
>> + virtual void anchor();
>> +
>> public:
>> virtual void emitMipsHackELFFlags(unsigned Flags) = 0;
>> virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) = 0;
>> };
>> +
>> +// This part is for ascii assembly output
>> +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);
>> +};
>> +
>> +// This part is for ELF object output
>> +class MipsTargetELFStreamer : public MipsTargetStreamer {
>> +public:
>> + MCELFStreamer &getStreamer();
>> + MipsTargetELFStreamer();
>> + virtual void emitMipsHackELFFlags(unsigned Flags);
>> + virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val);
>> +};
>> }
>>
>> #endif
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list