1 //=== MipsELFStreamer.h - MipsELFStreamer ------------------------------===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENCE.TXT for details. 7 // 8 //===-------------------------------------------------------------------===// 9 #ifndef MIPSELFSTREAMER_H_ 10 #define MIPSELFSTREAMER_H_ 11 12 #include "llvm/MC/MCELFStreamer.h" 13 14 namespace llvm { 15 class MipsAsmPrinter; 16 class MipsSubtarget; 17 class MCSymbol; 18 19 class MipsELFStreamer : public MCELFStreamer { 20 public: MipsELFStreamer(MCContext & Context,MCAsmBackend & TAB,raw_ostream & OS,MCCodeEmitter * Emitter,bool RelaxAll,bool NoExecStack)21 MipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, 22 raw_ostream &OS, MCCodeEmitter *Emitter, 23 bool RelaxAll, bool NoExecStack) 24 : MCELFStreamer(SK_MipsELFStreamer, Context, TAB, OS, Emitter) { 25 } 26 ~MipsELFStreamer()27 ~MipsELFStreamer() {} 28 void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget); 29 void emitMipsSTOCG(const MipsSubtarget &Subtarget, 30 MCSymbol *Sym, 31 unsigned Val); 32 classof(const MCStreamer * S)33 static bool classof(const MCStreamer *S) { 34 return S->getKind() == SK_MipsELFStreamer; 35 } 36 }; 37 38 MCELFStreamer* createMipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, 39 raw_ostream &OS, MCCodeEmitter *Emitter, 40 bool RelaxAll, bool NoExecStack); 41 } 42 43 #endif /* MIPSELFSTREAMER_H_ */ 44