diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-14 04:25:13 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-01-14 04:25:13 +0000 |
commit | 3c733ea0649665b81947de596d410a5c4f42f5f4 (patch) | |
tree | 5ca3a0eb19cf878d00fbd4cb086834685b00a4be /lib/Target/Mips/MipsTargetStreamer.h | |
parent | dfa550a1761a85417d0e42c8cd17cd08e753388b (diff) | |
download | llvm-3c733ea0649665b81947de596d410a5c4f42f5f4.tar.gz llvm-3c733ea0649665b81947de596d410a5c4f42f5f4.tar.bz2 llvm-3c733ea0649665b81947de596d410a5c4f42f5f4.tar.xz |
Replace .mips_hack_stocg with ".set micromips" and ".set nomicromips".
This matches what gnu as does and implementing this is easier than arguing
about it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199181 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips/MipsTargetStreamer.h')
-rw-r--r-- | lib/Target/Mips/MipsTargetStreamer.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/Target/Mips/MipsTargetStreamer.h b/lib/Target/Mips/MipsTargetStreamer.h index 8c53cb5bc2..4d1dd0090d 100644 --- a/lib/Target/Mips/MipsTargetStreamer.h +++ b/lib/Target/Mips/MipsTargetStreamer.h @@ -19,7 +19,8 @@ class MipsTargetStreamer : public MCTargetStreamer { public: virtual void emitMipsHackELFFlags(unsigned Flags) = 0; - virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val) = 0; + virtual void emitDirectiveSetMicroMips() = 0; + virtual void emitDirectiveSetNoMicroMips() = 0; virtual void emitDirectiveAbiCalls() = 0; virtual void emitDirectiveOptionPic0() = 0; }; @@ -31,19 +32,26 @@ class MipsTargetAsmStreamer : public MipsTargetStreamer { public: MipsTargetAsmStreamer(formatted_raw_ostream &OS); virtual void emitMipsHackELFFlags(unsigned Flags); - virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val); + virtual void emitDirectiveSetMicroMips(); + virtual void emitDirectiveSetNoMicroMips(); virtual void emitDirectiveAbiCalls(); virtual void emitDirectiveOptionPic0(); }; // This part is for ELF object output class MipsTargetELFStreamer : public MipsTargetStreamer { + bool MicroMipsEnabled; public: + bool isMicroMipsEnabled() const { return MicroMipsEnabled; } MCELFStreamer &getStreamer(); MipsTargetELFStreamer(); + + virtual void emitLabel(MCSymbol *Symbol) LLVM_OVERRIDE; + // FIXME: emitMipsHackELFFlags() will be removed from this class. virtual void emitMipsHackELFFlags(unsigned Flags); - virtual void emitMipsHackSTOCG(MCSymbol *Sym, unsigned Val); + virtual void emitDirectiveSetMicroMips(); + virtual void emitDirectiveSetNoMicroMips(); virtual void emitDirectiveAbiCalls(); virtual void emitDirectiveOptionPic0(); }; |