1249259Sdim//=== MipsELFStreamer.h - MipsELFStreamer ------------------------------===// 2249259Sdim// 3249259Sdim// The LLVM Compiler Infrastructure 4249259Sdim// 5249259Sdim// This file is distributed under the University of Illinois Open Source 6249259Sdim// License. See LICENCE.TXT for details. 7249259Sdim// 8249259Sdim//===-------------------------------------------------------------------===// 9249259Sdim#ifndef MIPSELFSTREAMER_H_ 10249259Sdim#define MIPSELFSTREAMER_H_ 11249259Sdim 12249259Sdim#include "llvm/MC/MCELFStreamer.h" 13249259Sdim 14249259Sdimnamespace llvm { 15249259Sdimclass MipsAsmPrinter; 16249259Sdimclass MipsSubtarget; 17249259Sdimclass MCSymbol; 18249259Sdim 19249259Sdimclass MipsELFStreamer : public MCELFStreamer { 20249259Sdimpublic: 21249259Sdim MipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, 22249259Sdim raw_ostream &OS, MCCodeEmitter *Emitter, 23249259Sdim bool RelaxAll, bool NoExecStack) 24249259Sdim : MCELFStreamer(SK_MipsELFStreamer, Context, TAB, OS, Emitter) { 25249259Sdim } 26249259Sdim 27249259Sdim ~MipsELFStreamer() {} 28249259Sdim void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget); 29249259Sdim void emitMipsSTOCG(const MipsSubtarget &Subtarget, 30249259Sdim MCSymbol *Sym, 31249259Sdim unsigned Val); 32249259Sdim 33249259Sdim static bool classof(const MCStreamer *S) { 34249259Sdim return S->getKind() == SK_MipsELFStreamer; 35249259Sdim } 36249259Sdim}; 37249259Sdim 38249259Sdim MCELFStreamer* createMipsELFStreamer(MCContext &Context, MCAsmBackend &TAB, 39249259Sdim raw_ostream &OS, MCCodeEmitter *Emitter, 40249259Sdim bool RelaxAll, bool NoExecStack); 41249259Sdim} 42249259Sdim 43249259Sdim#endif /* MIPSELFSTREAMER_H_ */ 44