Home | History | Annotate | Download | only in MCTargetDesc
      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:
     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 
     27   ~MipsELFStreamer() {}
     28   void emitELFHeaderFlagsCG(const MipsSubtarget &Subtarget);
     29   void emitMipsSTOCG(const MipsSubtarget &Subtarget,
     30                      MCSymbol *Sym,
     31                      unsigned Val);
     32 
     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