[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